W internecie jest dużo tematów, w którym użytkownicy piszą i pytają, jak napisać kod, aby wyszukiwarka wyszukiwała polskie słowa np: z ę, ą,ł itd, w bazie danych. Jest kilka rozwiązań.
Szukając po forach, przeważnie można spotkać rozwiązanie, które wyszukuje polskie słowa w bazie danych i takim rozwiązaniem jest napisanie takiego zapytania:
SELECT `sth` FROM `table` WHERE LOWER(`column`)LIKE LOWER('%sth%')
COLLATE utf8_polish_ci
Trzeba pamiętać, że trzeba za każdym razem dopisywać COLLATE utf8_polish_ci. Ja jednak rozwiązałem to inaczej, i pokazują to dwa zrzuty mojego kodu.
Pierwszy jest połączeniem z bazą a drugi zapytanie bez COLLATE utf8_polish_ci.
Korzystając z VertrigoServ, który ma swój pakiet, to ma domyślne hasło vertrigo, dlatego nie zamazałem hasła. Gdyby połączenie dotyczyło mojego hostingu, to już tak:)
Widać, że wystarczy jedna linijka, aby wyszukiwanie z polskimi znakami działało.
Teraz jak wyżej pisałem, będzie zapytanie, które wyszukuje polskie słowa w bazie danych.
W tym kodzie, co widać na zrzucie, nie ma w zapytaniu COLLATE..... Można zadać mi pytanie, po co mam w zapytaniu imię, nazwisko, wiek, dział, skoro szukam po słowie w bazie. Ten kod, dotyczy wyszukania pracowników w bazie z danego działu! Może to być dział rachunkowość, bankowość i ewentualnie można za pomocą tego kodu, wyszukać pracowników z poszczególnych miast. Wystarczy zmienić zmienną w php i też w formularzu (nie koniecznie) oraz zmodyfikować zapytanie, aby wyszukiwało po danej miejscowości.
Dalej w kodzie widać pobranie i wyświetlenie danych. I wszystko!