Poštovani
Instalirao sam mysql 4.1.3 (ima podršku za uft8 character set i kompajliran
collate utf8_slovenian_ci!!). Kreirao sam mali programčić u VB-u (Koristim Win2000 Pro i Serbian Latin tastaturu i Regional settings). Kreirao sam probnu tabelu u test bazi:
CREATE TABLE `probautf8` (
`id` int(11) NOT NULL auto_increment,
`naziv` varchar(50) character set utf8 collate utf8_slovenian_ci NOT NULL default '',
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Unio sam par slogova naredbom:
insert into `probautf8` (naziv) values(convert('čičak' using utf8));
Napravio sam jednostavan upit:
SELECT * FROM probautf8 ORDER BY naziv;
i dobio u Text boxu sledeće:
adžija
ćuran
brašno
czech
dvor
džak
đura
efim
čičak
čoček
čućemo se
franjo
gorila
hajduk
istina
jugo
kljucati
ključ
lašva
Ljubljana
Mrčajevci
ništarija
njuh
Oliver
Pendžer
rukohvat
Severina
sušica
Šakotić
Trogir
Uroš
vozač
zdravlje
žaba
Kao što možete primijetiti sve dobro sortira osim 'č' (vidi ga očigledno kao e sa akcentom) i 'ć' (vidi ga očigledno kao spojeno ae). Da li je greška u mysql-u kod sortiranja ili 'č' i 'ć' nisu dobro prevedeni u utf8 (inače, identično se dobija i bez upotrebe funkcije CONVERT, znači ona je u ovoj priči beskorisna)? Takođe i LJ i NJ ne vidi kao jedno slovo već kao L i J, te N i J, tj. kao dva slova (što doduše nije tako strašno kao sa č i ć)
Pošto je Win2000 već potpuno unicode spreman, greška je u mysql-u, tako bar ja mislim.
Konačno je mySQL ponudio i neko kompajlirano sortiranje koje zadovoljava naše potrebe,
ali...