Stranica: 1/2.
[RIJEŠENO][MySQL] Sortiranje na hrvatski
Postano: 30 lip 2010, 20:24
Postao/la Grof
Imam bazu koja po defaultu nema korektno hrvatsko sortiranje.
Caracterset = utf8
Coolation = utf8_general_ci
E sada,
Pošto MySQL nije spačiran, i ne podržava utf8_croatian_ci collation, da li slovenian_ci radi ispravno sortiranje i za č,ć ili ne?
Ako bazu kreiram po latin2_croatian_ci collationu, da li bi sortirao OK i da li latin2 characterset može donjeti neke nove probleme na čisto kreiranoj bazi?
Sve to radi pod Wordpressom 3, no sortiranje i tako odradi MySQL....
ima li ko kakvih iskustva??
Re: [MySQL] Sortiranje na hrvatski
Postano: 30 lip 2010, 20:56
Postao/la glaskoncILLa
sto te sprijecava da probas?
buduci da ti je ta baza vjerovatno vrlo mala, napravi dump postojeceg stanja "just in case" jer na mysqlu nema undo (uvijek se sjetim dannyevog naglog umuknuca u jednom trenutku, samo to je bilo na bazi od 50 giga

) i igraj se.
a i rekao bih da postoji dobra sansa da slovenščina radi..
Re: [MySQL] Sortiranje na hrvatski
Postano: 30 lip 2010, 21:32
Postao/la Grof
glaskoncILLa je napisao/la:sto te sprijecava da probas?
Uhvati me na djelu
baš to i radim... jer baza u jest mala... zato sada itestiram.
probal sam na latin2 i baš ne dela....
sad se idem igrati sa utf8 slovenščinom....
znam da patch utf8_croatian radi, ali sumnjam da bi mi američki dečki htjeli patchati mysql
(ak niš ne bu radilo, pital bum ih....

)
Re: [MySQL] Sortiranje na hrvatski
Postano: 30 lip 2010, 21:37
Postao/la drade
Pozdrav,
Od verzije 5.1 mySQL bi trebao imati support za dva Hrvatska collationa, poimence: cp1250_croatian_ci i latin2_croatian_ci.
Slovenian je najblizi Croatian collationu ali mislim da ti bas nece biti od pomoci a pogotovo za dijakriticke znakove dž, lj, nj (kontrakcije) te znak ć ..., ovo je slovenski collation chart, pa pogledaj i usporedi koji dijakriticki znakovi ce ti stvarati probleme.
http://www.collation-charts.org/mysql60 ... an_ci.html
Mozda bi ti moglo biti od interesa, ovaj patch podrzava kontrakcije karaktera.
https://edge.launchpad.net/~ivoks/+archive/mysql-hr/
D.
P.S. - sada sam skuzio da je patch za Ubuntu ...
P.P.S - Evo i patch za pravilan ordering:
http://www.collation-charts.org/article ... ci.v2.diff
Re: [MySQL] Sortiranje na hrvatski
Postano: 30 lip 2010, 22:06
Postao/la Grof
@drade
našel sam ga, samo morao bih natjerati kolege na iPageu na patchaju mysql server, u što jako sumnjam da će se htjeti upustiti....
trenutni mysql server podržava latin2_croatian_ci, ali meni nije soerirao ... (možda sam zaboravio dati striktnije upute bazi....) utf8_slovenian_ci radi upravo to što si spomenuo, i ako ne nađem bolje rješenje, ostaviti ću njega....
radim nekakvu straničicu za igre na ploči pa bi bilo zgodno da sortira po imenu igre korektno... (
www.igranje.org)
Re: [MySQL] Sortiranje na hrvatski
Postano: 01 srp 2010, 08:02
Postao/la Grof
Da rezimiram stanje sortiranja pod MySQL-om:
Postojeća dva collationa za hrvatsku su:
latin2_croatian_ci
cp1250_croatian_ci
NITI jedan od njih ne sortira dobro! Štoviše, ne sortira ni približno
S druge pak strane postoji patch za mysql koji dodaje utf8_croatian_ci collation u bazu, no njega treba aplicirati i prekompajlirati mysql. Koliko su hosteri to voljni učiniti, ne znam, no pokušati ću.
Stanovitog utf8_croatian_ci collationa nema niti u 5.0 ni 5.1 ni 5.5 verziji mysql-a, nego će se pojaviti tek u slijedećim inačicama iste, ko zna kada....
U koliko se ne može patchirati mysql, ostaje relativno dobro slovensko sortiranje koje postoji u gore navedenim inačicama mysql-a: utf8_slovenian_ci (problem su u poretku slova: ć nj i lj), no to nije tako strašno.
Re: [MySQL] Sortiranje na hrvatski
Postano: 01 srp 2010, 08:26
Postao/la drade
Grof je napisao/la:
Stanovitog utf8_croatian_ci collationa nema niti u 5.0 ni 5.1 ni 5.5 verziji mysql-a, nego će se pojaviti tek u slijedećim inačicama iste, ko zna kada....
mySQL 6 !
Problem kod ova dva "built-in" collationa jest da oni ne tretiraju znakove dz, lj i nj kao jedan znak vec kao dva, i tu nastaje kaos.
D.
Re: [MySQL] Sortiranje na hrvatski
Postano: 01 srp 2010, 09:10
Postao/la Grof
drade je napisao/la:Grof je napisao/la:
Stanovitog utf8_croatian_ci collationa nema niti u 5.0 ni 5.1 ni 5.5 verziji mysql-a, nego će se pojaviti tek u slijedećim inačicama iste, ko zna kada....
mySQL 6 !
Problem kod ova dva "built-in" collationa jest da oni ne tretiraju znakove dz, lj i nj kao jedan znak vec kao dva, i tu nastaje kaos.
D.
Imaš kakvih naznaka kada bi se mysql 6 trebao pojaviti?
Što se tiće ovih dvaju croatian collationa, njihov problem nije toliko veliki u dz, lj i nj, koliko u dijakritičkim znakovima, oni npr ovako sortiraju naše znakove:
a, ć, č, b, c , h , š, p, s,....
dakle, bez veze... evo,
pogledaj i sam
EDIT:
A vidi kaj piše na njihovom siteu:
Notice
The MySQL 6.0 Reference Manual has been retired.
MySQL 6.0 was not developed beyond Alpha status and new releases have not been made for some time, so the manual has been withdrawn as well.
New development is currently focused on MySQL 5.5. For more information, see MySQL 5.5 Reference Manual.
izgleda da 6-ica baš ne bude tak skoro... ako uopće....
Re: [MySQL] Sortiranje na hrvatski
Postano: 01 srp 2010, 09:53
Postao/la drade
Moguce je da ce utf8_croatian_ci uci u mySQL 5.6 ...
Grof je napisao/la:
Što se tiće ovih dvaju croatian collationa, njihov problem nije toliko veliki u dz, lj i nj, koliko u dijakritičkim znakovima, oni npr ovako sortiraju naše znakove:
a, ć, č, b, c , h , š, p, s,....
dakle, bez veze... evo,
pogledaj i sam
Ovaj ordering nema veze s vezom, mozes li probati postati output ovoga (za oba collationa):
use DBANAME; SET NAMES 'NAME' COLLATE 'collation1'; select something from somewhere order by something;
Naravno, zamijeni boldane rijeci relevantnim vrijednostima.
EDIT:
Ako pogledas chartove ovih collationa, oni bi trebali raditi dobro osim za ranije navedeno znakovlje:
http://www.collation-charts.org/mysql60 ... an_ci.html
http://www.collation-charts.org/mysql60 ... an_ci.html
Mislim da je nesto drugo u igri ovdje.
EDIT2:
Mozes li izdati sljedeci set mySQL komandi:
SHOW VARIABLES LIKE 'character%';
SHOW VARIABLES LIKE 'collation%';
D.
Re: [MySQL] Sortiranje na hrvatski
Postano: 01 srp 2010, 10:35
Postao/la Grof
Ispravka!
Kada se direktno unosi u bazu onda je sortiranje po ovim collationima OK!
Problem je što wordpress neispravno unosi znakove u latin2 ili cp1250 characterset tablicu
odnosno, u njemu bi trebalo promijeniti rad sa UTF8 na latin2 ili cp... (ali pri samom unosu karaktera sa web stranice u bazu)
idem dalje istraživati. Glavno da mysql radi dobro, ovo ću porihtati
