Codare chirilă Php în interogări url

Începători Php

Dacă în linia de comandă (URL) vom scrie caracterele rusă (chirilică), ele pot fi înlocuite automat cu simbolurile codate corespunzător. Totul depinde de setările serverului în sine.







Sarcina este aceea de a găsi funcția de codare și decodare a adresei URL. Pentru ce? De exemplu, pentru a scrie în mod imperceptibil funcția .htaccess a transformării chirilic în adresa URL corectă.

Se pare că PHP are built-in funcții urlencode. urldecode. rawurlencode. rawurldecode. cu toate acestea, serverul însuși codifică rus Sivols (chirilic) mai întâi în UTF-8 și numai apoi aplică codul urn. Prin urmare, aceste funcții încorporate nu vor funcționa pentru noi și va trebui să introducem propria noastră funcție.







// luați în linie alfabetul și spațiile noastre
$ S = "a b în cazul în care";
// print
print $ S;
print "
\ n ";

// codifică un șir care poate fi trecut la adresa URL
$ S = numele meu_url_encode ($ S);
// print
print $ S;
print "
\ n ";

// decodează un șir care poate fi trecut la adresa URL
$ S = suma mea_url_decode ($ S);
// print
print $ S;

// obține
// а б в гдеё
// 0% B0% 20,0% B1% 20,0% B2% 20,0% B3,0% B4,0% B5,1% 91
// а б в гдеё
?>

Problema este rezolvată. Am tipărit alfabetul într-o formă transformată, în modul în care este de obicei convertit de serverul însuși. Acum există o funcție de codificare atât în ​​URL, cât și în decodarea inversă a caracterelor ruse (chirilice).







Articole similare

Trimiteți-le prietenilor: