Witam,
mam dosyć dziwny problem w moim serwisie.
Jest szukajka, która szuka w newsach, artykułach i downloadzie (użytkownik wybiera w formularzu) poprzez LIKE - takie mało skomplikowane, w sumie aby działało. No i działało... ale pojawił się problem.
W wypadku newsów i artykułów jest ok, ale przy downloadzie ZAWSZE zwraca 0 wyników. Kupa słów zawiera ciąg jagged, a mimo to nie może znaleźć niczego typu %jagged%, %jagg% czy nawet %gg%...
Nie zmieniałem struktury bazy, nie zmieniałem plików a samo z siebie "padło".
Jedyne co robiłem w ostatnim czasie, a właściwie już jakiś czas temu to zmiana kodowania z ISO na UTF-8.
Jeżeli to wywołało problem - jak to naprawić no i jak uniknąć takich niespodzianek w przyszłości?
EDIT
Dzisiaj już wiem, że to przez wielkość liter - po prostu bierze je pod uwagę, choć nie powinien.
Porównywanie znaków jest ustawione na utf8_bin, próbowałem zmienić na utf8_general_ci, ale nie zmieniło to nic - nadal robi LIKE z patrzeniem się na wielkość... jak to ominąć?
EDIT2:
Ok, problem rozwiązany - zapomniałem zmienić porównywanie dla pól... stąd problem, zauważyłem to stosując strtolower + LOWER().
Mimo wszystko nie na wiele się to zdało, bo LIKE trwa około 0,2s... przerzuciłem więc wszystko na FULLTEXT.