Witam,
Mam problem z kodowaniem, a dokładnie z wyszukiwaniem słów z polskimi znakami przez wyszukiwarkę na stronie w bazie danych MySQL.
Problem polega na tym że w bazie są słowa z małych i dużych liter. np. ciepły, CIEPŁY zamiennie.
Wyszukiwarka bez żadnego problemu znajduje rekordy gdzie wpiszę słowo z polską DUŻĄ literą lub polską MAŁĄ literką.
czyli na przykładzie:
szukając CIEPŁY - znajduje wszystkie rekordy z CIEPŁY, szukając ciepły znajduje wszystkie rekordy ciepły, a... szukając ciepŁy znajduję słowa CIEPŁY (prawidłowo, bo wielkość liter ma nie być uwzględniana)
Teraz proszę o pomoc w rozwiązaniu problemu dlaczego zapytanie MySQL zwraca uwagę na wielkość polskich i jak zrobić aby MySQL nie zwracał uwagi na wielkość polskich znakiów.
Szczegóły techniczne:
Strona oraz pliki PHP/wyszukiwarki są kodowane w UTF-8
MySQL rekordy są kodowane w UTF8_general_ci
sprawdzałem działanie funkcji PHP oraz MySQL:
mb_strtolower()
strtolower()
z połączoną funkcją MYSQL dla kolumny i wyszukiwanego elementu:
CONVERT()
LOWER()
fragment zapytania mysql: (LOWER(t.wyszukiwanie) LIKE LOWER('%{$nazwa}%') )
innych pomysłów nie mam.