Cerințe pentru codarea caracterelor în PHP

Următoarele codări pot fi folosite în siguranță cu PHP.

  • Orice codare de caractere pe un singur octet,

    • care are mapări compatibile ASCII (compatibile cu standardul ISO646) pentru caracterele de la 00h la 7fh.

  • Orice codare de caractere pe mai mulți octeți,

    • care are mapări compatibile ASCII pentru caracterele de la 00h la 7fh.
    • care nu utilizează secvențe de de evadare ISO2022.
    • care nu folosesc o valoare de la 00h la 7fh în octeții de compunere care reprezintă un singur caracter.

Acestea sunt exemple de codări de caractere care probabil nu merg în PHP.

JIS, SJIS, ISO-2022-JP, BIG-5

Deși s-ar putea ca scripturile PHP scrise în orice codare de mai sus să nu meargă, în special în cazul în care stringuri codate apar ca identificatori sau literalmente în scripturi, puteți evita alte probleme cu aceste codări setând conversia codării caracterelor venite prin HTTP.

Notă:

Nu folosiți SJIS, BIG5, CP936, CP949 și GB18030 pentru codarea internă decât dacă sunteți familiarizat(ă) cu parser-ul, scanerul și codarea de caractere.

Notă:

Dacă vă conectați la o bază de date cu PHP, este recomandat să folosiți aceași codare de caractere atât pentru baza de date cât și pentru codarea internă pentru ușurință în utilizare și o performanță mai bună.

Dacă folosiți PostgreSQL, codarea de caractere folosită în baza de date ar putea diferi față de cea folosită în PHP deoarece suportă conversia automată a setului de caractere între backend și frontend.