PDA

Pogčedajte punu verziju : Ćirilica preko get parametra


Nemanja Avramović
08. 07. 2007., 18:03
Naime, stranica treba da primi preko GET parametra ćirilični string, i on u URLu browsera postaje newname.php?name=%D0%9D%D0%B5%D0%BC%D0%B0%D1%9A%D0 %B0

Kako sad ovo da ponovo vratim u ćirilicu u PHPu? Pokušavao sam sa urldecode, rawurldecode i još neke funkcije ali neće pa neće. Takođe, pokušao sam da odradim base64 enkoding ćirilice iz JS-a pa tako da ga prosledim PHP strani, ali ne ide, kad se dekoduje, ne dobija se originalni string :(

Dragi Tata
08. 07. 2007., 18:31
To je utf-8 encodovan string. Sad, kako PHP radi sa UTF-8 enkodingom nemam pojma, ali siguran sam da ima neki način.

Miloš Lalić
08. 07. 2007., 20:22
echo $_GET['name'];

Nemanja Avramović
08. 07. 2007., 20:24
Neverovatno, zaboravio sam da ubacim ovo posle konektovanja na bazu (string čuvam u bazi pa ga onda iščitavam):

mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET COLLATION_CONNECTION='utf8_general_ci'");

A kad se setim da sam ja to pisao u FAQ na ESu... strašno :/

Miloš Lalić
08. 07. 2007., 20:46
Dovoljno je da korisitš samo prvi red (SET NAMES).

Sa: http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html

A SET NAMES 'x' statement is equivalent to these three statements:

SET character_set_client = x;
SET character_set_results = x;
SET character_set_connection = x;

Setting character_set_connection to x also sets collation_connection to the default collation for x. It is not necessary to set that collation explicitly.

Pozdrav :)

Nemanja Avramović
08. 07. 2007., 21:07
Hvala :)