2012-02-23 15 views
9

Puedo descifrar cierta información, como codificación e idioma, en la metaetiqueta o en el encabezado de respuesta.
Mi pregunta: ¿cuál es la mejor manera (tal vez a ambos), por SEO y viejos navegadores?encabezado de respuesta VS metaetiqueta

ejemplo meta-tag: < meta http-equiv = "Content-Type" content = "text/html; charset = UTF-8" >
ejemplo (PHP) cabecea: header ('Content Escriba: text/html; charset = utf-8 ');
qué hay mejor?

Respuesta

11

Meta http-equiv es poco más que una broma. Al especificar Content-Type con él, solo la sección charset cuenta para cualquier cosa, y solo cuando los encabezados HTTP reales no especifican la codificación.

+0

de forma predeterminada, el encabezado Content-Type es "text/html". y el navegador (al menos Firefox) no lo lee como utf-8. Pero si se especifica http-equiv Content-Type, funciona correctamente. –

+1

@ Dani-Br: PHP no puede especificar la codificación en los encabezados HTTP, y el comportamiento es como dije. – Quentin

+0

@Quentin Si está utilizando PHP, siempre puede agregar su propio encabezado. ¿Cómo debe saber PHP el juego de caracteres del contenido que está generando? – sstn

14

Haga ambas cosas. El encabezado tiene prioridad, pero si se accede a la página HTML localmente, no hay encabezados HTTP, por lo que desea tener <meta charset="..."> como mecanismo de seguridad.

+0

Cuando se accede a la página localmente (cuando la página se guardó en la PC del usuario), lo hace mediante la codificación del archivo, y el navegador sabe cómo guardar el archivo por meta/información del encabezado. Entonces, mi pregunta es solo acerca del lado del servidor. –

+7

@ Dani-Br Esto es una tontería. La determinación de "la codificación del archivo" es precisamente para lo que es la metaetiqueta. Los SO y los sistemas de archivos no almacenan mágicamente una codificación asociada con cada archivo de texto. –

Cuestiones relacionadas