2011-10-18 7 views
12

devo pagina che codifica viene dichiarato conCome forzare la codifica UTF-8 nel browser?

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

Ma quando entro nella pagina un'altra codifica (ISO) è scelto nel browser. Ho provato a impostare la codifica con il metodo PHP

header('Content-type: text/html; charset=utf-8'); 

Ma non ha aiutato. Tutti i file sorgente sono codificati in UTF-8 senza BOM. L'unica soluzione che ho provato e che aveva funzionato era impostare la codifica nel file .htaccess aggiungendo la riga AddDefaultCharset UTF-8, ma poi altre pagine sul server non venivano visualizzate correttamente. Come posso risolvere questo problema?

+4

Si prega di notare che il tag tipo di contenuto meta è ** ** ignorata quando la pagina viene servito su HTTP. Viene usato solo quando si lascia che il browser salvi la pagina su disco e poi lo apra dal disco con 'file: ///'. Il set di caratteri specificato nell'attributo 'charset' dell'intestazione' Content-Type' HTTP è stato usato quando la pagina è servita su HTTP. Forse stai impostando l'intestazione troppo tardi in PHP (deve essere impostato prima che tu scriva un po 'alla risposta, avresti comunque ricevuto una notifica di questo errore se hai impostato il corretto livello di segnalazione degli errori PHP). – BalusC

+0

Come si può identificare la codifica è diverso? I personaggi non vengono visualizzati in modo appropriato? È il testo recuperato dal DB SQL, nel qual caso mysql_set_charset può aiutare ... – SW4

+2

@Ergo: non sarebbe stato risolto impostando 'AddDefaultCharset UTF-8' in' .htaccess'. – BalusC

risposta

6

Disabilita charset di default:

AddDefaultCharset Off 
+0

Suppongo che ciò farà sì che le altre pagine sul server che devono essere codificate in ISO non vengano visualizzate correttamente. (Analogamente a 'AddDefaultCharset UTF-8'.) – mkas

+0

Se apache non invia il set di caratteri nelle intestazioni, i browser indovineranno la codifica. Molto probabilmente indovineranno iso-8859-2. – Gerben

+0

Hai ragione, ha aiutato. Spero sia valido e conforme agli standard. – mkas

Problemi correlati