Głupota użytkownika MySQL
A dokładniej moja głupota…
Do tej pory dla pól tabeli oraz samej tabeli collation ustawiałem na utf8_general_ci wierząc, że jeśli nazwa UTF8 General to dla wszystkich znaczków kodowanych w UTF8. I przyznam, że problemów z krzaczkami nie miałem. Ale…
Problem pojawił się w małym projekcie, gdzie pozycje miały być posortowane po mieście. Okazało się, że takie miasta jak Łomża są zawsze na samym końcu, a nie po Krakowie etc.
Pierwsze co przyszło mi do głowy, to może stara wersja Zend Framework, ale to nie to.
Okazało się, że w collation zakodowana jest informacja m.in. o cechach sortowania danego alfabetu. Od dzisiaj używam utf8_polish_ci – dzięki temu Łomża jest na swoim miejscu.









projektowanie stron wejherowo
7 sty, 2009
Zmiana na utf8_polish_ci pomaga nie tylko w sortowaniu. W mojej wyszukiwarce nie chciało pokazywać wyników zaczynających się na dużą polską litere gdy żądaną frazę wpisywano z małego diakrytyka i odwrotnie.
Dzięki za Twój wpis
matipl
7 sty, 2009
Tak, to tyczy nie tylko sortowanie, ale też innych operacji na polach z polskimi znaczkami.