2011-10-18 40 views
12

que tienen página de la que se declara con codificación¿Cómo forzar la codificación UTF-8 en el navegador?

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

Pero cuando entro en la página otra codificación (ISO) se elige en el navegador. He intentado establecer la codificación por el método PHP

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

Pero tampoco sirvió de nada. Todos los archivos fuente están codificados en UTF-8 sin BOM. La única solución que probé y que funcionó fue establecer la codificación en el archivo .htaccess agregando la línea AddDefaultCharset UTF-8, pero luego otras páginas en el servidor no se visualizaron correctamente. ¿Como puedó resolver esté problema?

+4

Tenga en cuenta que la etiqueta meta de tipo de contenido se ignora ** ** cuando la página se sirve a través de HTTP. Solo se usa cuando deja que el navegador guarde la página en el disco y luego la abre desde el disco mediante 'file: ///'. El juego de caracteres como se especifica en el atributo 'charset' del encabezado de respuesta HTTP' Content-Type' se usa cuando la página se sirve a través de HTTP. Tal vez está configurando el encabezado demasiado tarde en PHP (tiene que configurarse antes de escribir cualquier bit a la respuesta, sin embargo, se le habría notificado este error si ha establecido el nivel adecuado de informe de errores de PHP). – BalusC

+0

¿Cómo puede identificar la codificación diferente? ¿Los personajes no se muestran de forma adecuada? ¿Es SQL DB texto extraído, en cuyo caso mysql_set_charset puede ayudar ... – SW4

+2

@Ergo: eso no se habría resuelto estableciendo 'AddDefaultCharset UTF-8' en' .htaccess'. – BalusC

Respuesta

6

Desactivar juego de caracteres por defecto:

AddDefaultCharset Off 
+0

Creo que eso hará que las otras páginas en el servidor que tienen que codificarse en ISO no se muestren correctamente. (De forma similar a 'AddDefaultCharset UTF-8'.) – mkas

+0

Si apache no envía el juego de caracteres en los encabezados, los navegadores adivinarán la codificación. Lo más probable es que adivinen iso-8859-2. – Gerben

+0

Tienes razón, ayudó. Espero que sea válido y de acuerdo con los estándares. – mkas

Cuestiones relacionadas