Nowe posty

Autor Wątek: MySQL - sortowanie listy, nieprawidłowy wynik.  (Przeczytany 4758 razy)

manit.pl

  • Gość
MySQL - sortowanie listy, nieprawidłowy wynik.
« dnia: 2011-04-07, 15:16:18 »
Witam. Mam nietypowy problem, być może BUG serwera MySQL.
Próbowałem posortować listę nazw zakodowanych utf8_general_ci, ale dostałem nieprawidłowy wynik. To samo otrzymałem przy utf8_polish_ci. Testowałem te same zapytania na innym serwerze, gdzie wszystko działa zgodnie z oczekiwaniami.

Poniżej uproszczone maksymalnie zapytania:
CREATE TABLE test (id SERIAL,litera VARCHAR(4) collate utf8_polish_ci NOT NULL) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;
INSERT INTO test (litera) VALUES ('a'),('A'),('ą'),('Ą'),('b'),('B'),('c'),('C'),('ć'),('Ć'),('d'),('D'),('e'),('E'),('ę'),('Ę'),('f'),('F'),('g'),('G'),('s'),('S'),('ś'),('Ś');
SELECT * FROM test  ORDER BY litera;
Wersja mojego MySQL (mysql --version):
Ver 14.14 Distrib 5.1.49, for debian-linux-gnu (x86_64) using readline 6.1
Wynik u mnie (kolejność liter):
a A Ę ą ś Ą Ć ć Ś ę b B C c d D e E F f g G s S
Wynik na drugim serwerze:
a A ą Ą b B c C ć Ć d D e E ę Ę f F g G s S ś Ś
Sortowanie wg wielkości znaków nie ma dla mnie znaczenia.
Na google'ach znalazłem tylko informacje o problemach z sortowaniem (ignorowanie DESC) właśnie w wersji 5.1.49 MySQL pod Ubuntu.

Jeżeli ktoś spotkał coś podobnego lub ma jakiś pomysł (oprócz ustawienia kodowania latin2) to proszę o pomoc.

Z góry dziękuję.

kleer94

  • Gość
MySQL - sortowanie listy, nieprawidłowy wynik.
« Odpowiedź #1 dnia: 2011-04-17, 01:32:41 »
Cytuj
Na google'ach znalazłem tylko informacje o problemach z sortowaniem (ignorowanie DESC) właśnie w wersji 5.1.49 MySQL pod Ubuntu.
Sam sobie odpowiedziałeś. Zaktualizuj MySQL ; )