Vec dulje vremana obecajem ljudima da cu se dotaknuti
problematike hrvatskih slova u kombou php + mysql pa eto…
za ovaj tutorail na lokalnoj masini radim sa
wamp 1.7.0 (mysql 5.0.22, php 5.2.3), a na serverskoj
strani na kojoj ovi primjeri takodjer rade baza je
mysql 4.1.22 a php 4.4.4. tako da mislim da bi ovo
trebalo raditi sa svim php i mysql verzijama od 4
nadalje…
Korak 1 - natjerati mysql bazu da govori hrvatski :
Vecina beza na ovim prostorima ima defaltnu postavku
Collation - >latin1_swedish_ci.
Sto to znaci. to znaci da ako u bazu probate napraviti
insert podatka : “cvijeće” zapis ce izgledati ovako :
“cvije?e”…
Stvar popravljamo tako da u postavkama “operations”
(najlakse je do njih doci preko phpMyAdmin)
varijablu “Collation” postavite u "latin2_croatian_ci"
Bitno je da kompletna baza bude postavljena na hrvatski,
a ne samo tablice! ponekad je potrebno dropati tablice,
i kreirati nove sa odgovarajucim Collationom.
Ako ste sve dobro napravili, insert podataka “cvijeće” u bazi
zgleda ovako : “cvijeće”.
Prvi korak je uspjesno izveden
Korak 2 - natjerati HTML/PHP stranice da govore hrvatski
da bi se HTML stranice prebacile ha hrvatski encoding
u zaglavlje stranice je potrebno dodati (ili promjeniti postojeci)
tag u:
[HTML][/HTML]
ukoliko ste uspjesno promjenili encoding stranice, za ulaz :
[HTML]/*
ovdje ide kod koji u variablu : $variabla_iz_baze
stavlja sadržaj sloga u koji smo u koraku 1 zapisali
"Cvijeće".
*/
Cvijeće
<? echo ("Cvijeće"); ?>
<? echo ("$variabla_iz_baze"); ?>
[/HTML]bi trebali dobiti izlaz sličan ovome :
Cvijeće
Cvijeće
Cvije?e
…
Korak 3 : Like… ok i kaj sad?
E sad vi kazete, “pa neko tu nekoga nekaj!”
a ja jos tvrdim da smo na dobrom putu
sad idemo probati upisati u bazu podatke koje smo unjeli u textbox
na nasoj php stranici :
ako zavirite u bazu, vidjet cete da nase “Cvijeće” sad u bazi
izgleda ovako : “Cvije& #263;e”, i vjerovali ili ne, to je tocno
ono sto mi zelimo.
ako ovaj put probate ispisati :
rezultat ce biti tocan : “Cvijeće”.
Znaci baza prima točne rezultate za unos i za ispis, i u bazu
pohranjuje sa kodovima za posebne znakove, a posto je nama oblik
zapisa o bazi totalno nevazan (zbog transparentnosti baznog djela
aplikacije) ovo rjesenje je vise nego elegantno.
Korak 4 : Pretrazivanje
I regularno petraživanje i fulltext search s ovom metodom mi radi savrseno.
Korak 5 : Sortiranje
Sortiranje za sad ne radi kak spada ni sa normalnim oblikom hrvatskoh znakova
ni sa posebnim znakovima, tak da se to treba rjesiti na nivou baze…
eto tolko od mene…
ako sam nekome pomogao, drago mi je,ak ne opet dobro.
sve nejasnoce postajte tu.
Goran