MySQL koji Collation?

Koji mysql collation koristite za baze gdje koristite nasa slova “č,ć,đ…”?
Gledao sam sad kazu da ce potpuna podrska za nase znakove doci sa verzijom 6. Postoje neki nacini da se patch ubaci i sad u 5.1 ali nemam bas potrebe za tim.

Cisto me zanima koje je collation najbolje koristiti do verzije 6?

Collation ti igra ulogu jedino kod soritranja. Možeš proba se general_ci ili možda sa slovenskim, mislim da oni imaju svoj collation.

Ovdje je tema na WM-u o novom, hrvatskom poredavanju za MySQL 5.1:

http://www.webmajstori.net/forum/showthread.php?t=26089

Koliko sam razumio, u MySQL-u v. 5.1. se može koristiti i morao bi od hostera biti instaliran poredak cp1250_croatian_ci i latin2_croatian_ci. Ova dva poretka su 99 % dobra, tj. dobro sortiraju slova Š, Đ, Č, Ć i Ž.

Ovo je bitno, jer slovenski jezik nema slovo Ć.


Međutim, slova Dž, Lj i Nj nisu podržana, pa se “LUDOVANJE” sortira iza “LJUBOVANJE”, što nije ispravno. Uz ova slova postoji par bitnih informacija:

  1. “Dvoslovna” slova jesu podržana u MySQL-u, ali samo ako se sastoje od dva ASCII znaka. Što znači da bi Lj i Nj bili podržani, ali Dž ne.

  2. Podrška i za slova poput Dž dolazi s MySQL-om 5.6…

  3. Postoji patch i za MySQL 5.1. koji ubacuje dio koda pripremljen za 5.6. za slova poput Dž i koji dodaje još dva poredavanja, utf8_croatian_ci i ucs2_croatian_ci, koja podržavaju kompletno sortiranje svih slova. No, koliko sam shvatio proces “patchanja” MySQL-a, to zahtijeva rekompajliranje cjelokupnog izvornog koda (ne može se samo neki binarni modul zamijeniti s nekim “patchanim”). Zbog toga sumnjam da će hosteri ovo instalirati na regularnoj osnovi.

Više informacija o tom “patchu” za 5.1:

http://www.nivas.hr/blog/2009/11/30/imamo-hrvatsku-mysql-patch-which-implements-full-croatian-ordering-in-utf8_croatian_ci-and-ucs2_croatian_ci-collations/

Gornje informacije su “kako ih ja razumijem”, pa neka me netko ispravi ako sam u krivu.

Također se na gornjem linku može naći i zanimljiv komentar o tome da u hrvatskom jeziku svako n i j nije glas nj. Neki su stvarno, naprosto nj. Pretpostavlja da slično vrijedi i za lj, možda i dž, ali takvih riječi je ukupno oko 30 u jeziku.

Ovaj problem se može riješiti samo ako tipkovnice budu podržavale “nj”, “lj” i “dž” kao slova, tj. da ti grafemi budu kodirani kao jedan znak, što je teško očekivati, a nvj. i nepraktično.

Na sajtu uvijek korism UTF-8.
U bazi uvijek koristim utf8_unicode_ci.
Nakon sto se konektujem na localhost odradim ova 3 query-a i naša slova uvijek rade (istina ovim sortiranjem se ne zamaram, do sad mi nije bilo bitno).
SET NAMES utf8;
SET CHARACTER SET utf8;
SET COLLATION_CONNECTION=‘utf8_unicode_ci’;