Cómo configurar el encabezado HTTP en UTF-8 usando PHP que es válido en el validador W3C

Resuelto manycheese asked hace 54 años • 7 respuestas

Tengo varias páginas PHP que reflejan varias cosas en páginas HTML con el siguiente código.

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

Sin embargo, cuando valido usando el validador W3C aparece:

La codificación de caracteres especificada en el encabezado HTTP (iso-8859-1) es diferente del valor del elemento (utf-8).

Soy bastante nuevo en PHP y me preguntaba si podría y debería cambiar el encabezado de los archivos PHP para que coincida con los archivos HTML.

manycheese avatar Jan 01 '70 08:01 manycheese
Aceptado

Úselo headerpara modificar el encabezado HTTP:

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

Tenga en cuenta que debe llamar a esta función antes de enviar cualquier resultado al cliente. De lo contrario, el encabezado también se envió y obviamente ya no puedes cambiarlo. Puedes comprobarlo con headers_sent. Consulte la página del manual deheader para obtener más información.

Gumbo avatar Nov 25 '2010 16:11 Gumbo

Primero asegúrese de que los archivos PHP estén codificados en UTF-8 .

Algunos navegadores ignoran la metaetiqueta. Si sólo utiliza caracteres ASCII, no importa de todos modos.

http://en.wikipedia.org/wiki/List_of_HTTP_header_fields

header('Content-Type: text/html; charset=utf-8');
KingCrunch avatar Nov 25 '2010 16:11 KingCrunch