Tengo varias páginas PHP haciendo eco de 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 en el 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.
fuente
<meta>
etiqueta.META
se utiliza cuando el documento HTML no se carga a través de HTTP (por ejemplo, desde el disco).Primero asegúrese de que los archivos PHP estén codificados en UTF-8 .
La metaetiqueta es ignorada por algún navegador. Si solo usa caracteres ASCII, no importa de todos modos.
http://en.wikipedia.org/wiki/List_of_HTTP_header_fields
fuente
Este es un problema con su servidor web que envía un encabezado HTTP que no coincide con el que usted define. Para obtener instrucciones sobre cómo hacer que el servidor envíe los encabezados correctos, consulte esta página .
De lo contrario, también puede usar PHP para modificar los encabezados, pero esto debe hacerse antes de generar cualquier texto con este código:
Puede encontrar más información sobre cómo enviar encabezados utilizando PHP en la documentación de la función de encabezado .
fuente
También puedes usar una forma más corta:
Ver RFC 2616 . Es válido especificar solo un conjunto de caracteres.
fuente
Content-Type = "Content-Type" ":" media-type
ymedia-type = type "/" subtype *( ";" parameter )
Para una implementación correcta, debe cambiar una serie de cosas.
Base de datos (inmediatamente después de la conexión):
fuente
PHP envía encabezados automáticamente si está configurado para usar codificación interna:
fuente