[PHP] [MySQL] Problem z ORDER BY

0

Witam

Mam problem z sortowaniem wyników zapytania w MySQL.

Prosty kod w postaci:

$w = mysql_query("SELECT * FROM kategoria ORDER BY nazwa;");
while($r = mysql_fetch_object($w))
{
	print($r->nazwa ."<br/>");
}

Powinien zwrócić nazwy posortowane alfabetycznie.
Tymczasem uzystakany rezultat zapytania to:

...
Lutownice i akcesoria
Łaty murarskie
Ściągacze
Ściernice
Ściski
Malarskie
Miary
...

A jak wiadomo Ś jest po S w alfabecie...
Jak temu zaradzić ??

0

Ciesz się, że nie masz "ś" po "ą", które jest po "z" :-)
A na serio: to w jaki sposób sortuje MySQL polskie znaki zależy od parametru COLLATION dla danej tabeli. W phpMyAdmin jest to nazwane "Metoda porównywania napisów".

Jeżeli masz w tabeli używany polski język w kodowaniu UTF-8, to collation powinno być ustawione na utf8_polish_ci. Jeśli masz ustawione coś innego - sortowanie może nie być prawidłowe. Być może to jest tego wina.

1 użytkowników online, w tym zalogowanych: 0, gości: 1