Mateusz matipl Kamiński: blog o programowaniu, IT, finansach i własnym życiu

Głupota użytkownika MySQL

MySQL - logoA 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.

Podobne wpisy:

Podziel się tym:

  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Twitter
  • Wykop

SUBSKRYBUJ RSS

  • 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 ;)

  • Tak, to tyczy nie tylko sortowanie, ale też innych operacji na polach z polskimi znaczkami.

Możesz śledzić odpowiedzi za pomocą kanału RSS 2.0

Trackbacks / Pingbacks

Mateusz matipl Kaminski on Facebook