problemi supporto caratteri unicode php


A chi non è capitato di avere problemi con i caratteri unicode in php, anche mettendo il metatag apposito? Ed è quindi stato “costretto” ad usare i caratteri speciali dell’html (es : è = è).

Bene oggi vediamo come fare:

Per prima cosa analiziamo l’header di una risposta http(esempio preso da wikipedia) di un server :

HTTP/1.0 200 OK
Date: Mon, 28 Jun 2004 10:47:31 GMT
Server: Apache/1.3.29 (Unix) PHP/4.3.4
X-Powered-By: PHP/4.3.4
Vary: Accept-Encoding,Cookie
Cache-Control: private, s-maxage=0, max-age=0, must-revalidate
Content-Language: it
Content-Type: text/html; charset=utf-8
Age: 7673
X-Cache: HIT from wikipedia.org
Connection: close

Analizziamo la riga contente il “Content-Type”(“Content-Type: text/html; charset=utf-8”), questa riga contiene il tipo di codifica utilizzata dal web server, che in molti casi è l’occidentale (“iso-8859-1”).

Quindi per impostare l’unicode(“utf-8”) ci basta impostare il giusto header, per far ciò da php basta fare:

header(“Content-Type: text/html; charset=utf-8”);

prima dell’inizio dell’invio dle flusso di dati.

Il mio consiglio però è quello di mettere anche il metatag apposito, nell’head dell’html :

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

CC BY-SA 4.0 problemi supporto caratteri unicode php by cardinale claudio is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Lascia un commento