[ rourke @ 20.01.2007. 19:37 ] @
Pozdrav,

Danas sam otkrio sledeci problem;

Kada u address bar-u, unesem unicode string (nesto poput www.mojsajt.com/index.php?article=naša-slova-čćšđ) , i kada u kodu štampam $_GET["article"], nasa slova potpuno nestanu :(

Da li ja negde gresim, ili je ovo ogranicenje php-a (verzija 4)?

Napominjem da sam u zaglavlje stranice postavio da prikazuje unicode (utf-8) karaktere i sve ostalo sto se "vuce" iz baze se prikazuje bez problema.

Ukoliko nije moguce "primiti" unicode string, zanima me kako u php-u (4) i mysql-u (4) pretvoriti unicode string u ASCII? Da li postoji par funkcija koji daje isti rezultat i u php-u i mysql-u (zato sto cu i prilikom SELECT komande u mysql-u, morati isto da radim jer polje u bazi sadrzi unicode karaktere)?

Pozdrav i hvala na odgovorima.
[ Miroslav Ćurčić @ 20.01.2007. 21:15 ] @
Prenošenje stringa preko GET-a nije potpuno pozdano što se tiče raznih "egzotičnih" karaktera.
Zato postoji funkcija urlencode kojom obradiiš string pre ubacivanja u link,
a kasnije kad ga pročitaš sa $_GET opet obradiš sa urldecode.

Za obraćanje mysql-u nema potrebe za ovim, ideš direktno ali ipak razmisli o korišćenju addslashes/stripslashes.
[ rourke @ 20.01.2007. 21:48 ] @
Hvala,

Uspeo sam nesto sada da izvucem :)

Ono sto je problem sada, jer da kada se stranica otvori, address bar se poremeti i dodaju se ovi specijalni znakovi, npr: %C4%87

Sta mislite, da li je pametnije da izbacim nasa slova iz url-ova, ponajvise zbog lakog pamcenja linkova i zbog pretrazivaca?

U ovom slucaju bi mi trebala funkcija (nisam je nasao nazalost) koja unicode polje pretvara u ASCII polje, zbog uporedjivanja, nesto slicno kao:

Code:
SELECT * FROM Articles WHERE TO_ASCII(name) = '$ArticleName'


Hvala jos jednom
[ Miroslav Ćurčić @ 20.01.2007. 21:55 ] @
Takva slova u GET nastavku mislim da nisu problem za pretraživače, ali bila bi problem da su u imenu direktorijuma / datoteke.

Ne očekuj da će neko pamtiti link koji ima GET parametre, obično se takvi linkovi copy/paste-uju ili bookmark-uju.