type que español equiv content charset acentos html5 meta-tags doctype

html5 - que - <meta charset="utf-8"> vs<meta http-equiv="Content-Type">



meta charset= utf-8 que es (7)

Ambas formas de la declaración del juego de caracteres meta son equivalentes y deberían funcionar igual en todos los navegadores. Sin embargo, hay algunas cosas que debe recordar al declarar el conjunto de caracteres de sus archivos web como UTF-8:

  1. Guarde sus archivos en codificación UTF-8 sin la marca de orden de bytes (BOM).
  2. Declare la codificación en sus archivos HTML usando el juego de caracteres meta (como arriba).
  3. Su servidor web debe servir sus archivos, declarando la codificación UTF-8 en el encabezado HTTP de tipo de contenido.

Los servidores Apache están configurados para servir archivos en ISO-8859-1 de manera predeterminada, por lo que debe agregar la siguiente línea a su archivo .htaccess :

AddDefaultCharset UTF-8

Esto configurará a Apache para que sirva sus archivos que declaran la codificación UTF-8 en el encabezado de respuesta Tipo de Contenido, pero sus archivos deben guardarse en UTF-8 (sin BOM) para comenzar.

El Bloc de notas no puede guardar sus archivos en UTF-8 sin la lista de materiales. Un editor gratuito que puede es Notepad++ . En la barra de menú del programa, seleccione "Codificación> Codificar en UTF-8 sin BOM". También puede abrir archivos y volver a guardarlos en UTF-8 usando "Codificación> Convertir a UTF-8 sin BOM".

Más sobre la marca de orden de bytes (BOM) en Wikipedia .

Para definir el juego de caracteres para HTML5 Doctype , ¿qué notación debo usar?

  1. Corto:

    <meta charset="utf-8" />

  2. Largo:

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


En HTML5, son equivalentes. Utilice el más corto, es más fácil de recordar y escribir. El soporte del navegador está bien ya que fue diseñado para compatibilidad con versiones anteriores.


Hay algunas noticias basadas en Mozilla Foundation , y sitepoint

No utilice este valor ( http-equiv=content-type ) ya que está obsoleto. Prefiere el atributo charset en el elemento < meta >.


Otra razón para ir con el breve es que coincide con otras instancias en las que puede especificar un conjunto de caracteres en el marcado. Por ejemplo:

<script type="javascript" charset="UTF-8" src="/script.js"></script> <p><a charset="UTF-8" href="http://example.com/">Example Site</a></p>

La coherencia ayuda a reducir los errores y hace que el código sea más legible.

Tenga en cuenta que el atributo charset no distingue entre mayúsculas y minúsculas. Puede usar UTF-8 o utf-8, sin embargo, UTF-8 es más claro, más legible, más preciso.

Además, no hay absolutamente ninguna razón para usar ningún otro valor que no sea UTF-8 en el atributo meta charset o el encabezado de la página. UTF-8 es la codificación predeterminada para documentos web desde HTML4 en 1999 y la única forma práctica de crear páginas web modernas.

Además, no debe utilizar entidades HTML en UTF-8. Los caracteres como el símbolo de copyright deben escribirse directamente. Las únicas entidades que debe usar son para los 5 caracteres de marcado reservados: menor que, mayor que, comercial, primo, doble primo. Las entidades necesitan un analizador de HTML, que no siempre querrá usar en el futuro, introducen errores, hacen que su código sea menos legible, aumentan el tamaño de sus archivos y, a veces, decodifican incorrectamente en varios navegadores, dependiendo de las entidades que usó. Aprenda a escribir / insertar derechos de autor, marcas registradas, citas abiertas, comillas cerradas, apóstrofes, guiones, guiones, viñetas, euros y cualquier otro carácter que encuentre en su contenido, y use esos caracteres reales en su código. La Mac tiene un Visor de caracteres que puede activar en las preferencias del sistema del teclado, y puede encontrar y luego arrastrar y soltar los caracteres que necesita, o usar el Visor de teclado correspondiente para ver qué teclas escribir. Por ejemplo, la marca registrada es Opción + 2. UTF-8 contiene todos los caracteres y símbolos de cada lenguaje humano escrito. Así que no hay excusa para usar, en lugar de un guión de em. No es una mala idea aprender las reglas de puntuación y tipografía también ... por ejemplo, sabiendo que un período va dentro de una cita cercana, no fuera.

Usar una etiqueta para algo como tipo de contenido y codificación es altamente irónico, ya que sin saber esas cosas, no se podría analizar el archivo para obtener el valor de la etiqueta meta.

No, eso no es verdad. El navegador comienza a analizar el archivo como la codificación predeterminada del navegador, ya sea UTF-8 o ISO-8859-1. Dado que US-ASCII es un subconjunto de ISO-8859-1 y UTF-8, el navegador puede leer bien de cualquier manera ... es lo mismo. Cuando el navegador encuentra la etiqueta meta charset, si la codificación es diferente a la que ya usa el navegador, el navegador vuelve a cargar la página en la codificación especificada. Es por eso que colocamos la etiqueta meta charset en la parte superior, justo después de la etiqueta de cabecera, antes que nada, incluso el título. De esa manera puedes usar caracteres UTF-8 en tu título.

Debe guardar su (s) archivo (s) en codificación UTF-8 sin BOM

Eso no es estrictamente cierto. Si solo tiene caracteres US-ASCII en su documento, puede guardarlo como US-ASCII y servirlo como UTF-8, porque es un subconjunto. Pero si hay caracteres Unicode, es correcto, debe guardar como UTF-8 sin BOM.

Si desea un buen editor de texto que guarde sus archivos en UTF-8, recomiendo Notepad ++.

En la Mac, use Bare Bones TextWrangler (gratis) de la Mac App Store, o Bare Bones BBEdit, que se encuentra en la Mac App Store por $ 39.99 ... muy barato para una herramienta tan excelente. En cualquiera de las aplicaciones, hay un menú en la parte inferior de la ventana del documento donde especifica la codificación del documento y puede elegir fácilmente "UTF-8 no BOM". Y, por supuesto, puede configurarlo como predeterminado para los nuevos documentos en Preferencias.

Pero si su servidor web sirve la codificación en el encabezado HTTP, lo cual se recomienda, ambas etiquetas meta son innecesarias.

Eso es incorrecto. Por supuesto, debe configurar la codificación en el encabezado HTTP, pero también debe establecerla en el atributo meta charset para que el usuario pueda guardar la página, guardarla en el almacenamiento local y abrirla más tarde, en cuyo caso la única indicación de la codificación que estará presente es el atributo meta charset. También debe establecer una etiqueta base por el mismo motivo ... en el servidor, la etiqueta base no es necesaria, pero cuando se abre desde el almacenamiento local, la etiqueta base permite que la página funcione como si estuviera en el servidor, con todos los activos en su lugar y así sucesivamente, no hay enlaces rotos.

AddDefaultCharset UTF-8

O simplemente puede cambiar la codificación de determinados tipos de archivos de la siguiente manera:

AddType text/html;charset=utf-8 html

Un consejo para servir los archivos UTF-8 y Latin-1 (ISO-8859-1) es darle a los archivos UTF-8 una extensión de "texto" y los archivos Latin-1 "txt".

AddType text/plain;charset=iso-8859-1 txt AddType text/plain;charset=utf-8 text

Finalmente, considere guardar sus documentos con los finales de línea de Unix, no los finales de línea heredados de DOS o (clásico) de Mac, que no ayudan y pueden resultar perjudiciales, especialmente en la medida en que nos alejemos cada vez más de esos sistemas heredados. Un documento HTML con HTML5 válido, codificación UTF-8 y finales de línea Unix es un trabajo bien hecho. Puede compartir, editar, almacenar, leer, recuperar y confiar en ese documento en muchos contextos. Es lingua franca. Es papel digital.


Si bien no cuestiono las otras respuestas, creo que vale la pena mencionar lo siguiente.

  1. La notación "larga" ( http-equiv ) y la "corta" son iguales, lo que ocurra primero gana;
  2. Los encabezados del servidor web anularán todas las etiquetas <meta> ;
  3. BOM (Byte order mark) anulará todo , y en muchos casos afectará a html 4 (y probablemente también a otras cosas);
  4. Si no declara ninguna codificación, probablemente obtendrá su texto en "codificación de texto de retroceso" que se define en su navegador. Ni en Firefox ni en Chrome es utf-8;
  5. En ausencia de otras pistas, el navegador intentará leer su documento como si estuviera en ASCII para obtener la codificación, por lo que no puede usar ninguna codificación extraña (utf-16 con BOM debería hacerlo);
  6. Mientras que las especificaciones dicen que la declaración de codificación debe estar dentro de los primeros 512 bytes del documento, la mayoría de los navegadores intentarán leer más que eso.

Puede probar ejecutando echo ''HTTP/1.1 200 OK/r/nContent-type: text/html; charset=windows-1251/r/n/r/n/xef/xbb/xbf<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta charset="windows-1251"><title>привет</title></head><body>привет</body></html>'' | nc -lp 4500 echo ''HTTP/1.1 200 OK/r/nContent-type: text/html; charset=windows-1251/r/n/r/n/xef/xbb/xbf<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta charset="windows-1251"><title>привет</title></head><body>привет</body></html>'' | nc -lp 4500 echo ''HTTP/1.1 200 OK/r/nContent-type: text/html; charset=windows-1251/r/n/r/n/xef/xbb/xbf<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta charset="windows-1251"><title>привет</title></head><body>привет</body></html>'' | nc -lp 4500 y apuntando su navegador a localhost:4500 . (Por supuesto, deseará cambiar o eliminar partes. La parte de la lista de materiales es /xef/xbb/xbf . Tenga cuidado con la codificación de su shell).

Tenga en cuenta que es muy importante que declare explícitamente la codificación. Dejar que los navegadores adivinen puede llevar a problemas de seguridad.


Use <meta charset="utf-8" /> para los navegadores web cuando use HTML5.

Use <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> cuando use HTML4 o XHTML, o para analizadores dom obsoletos, como DOMDocument en PHP


<meta charset="utf-8"> se introdujo con / para HTML5.

Como se menciona en la documentación, ambos son válidos. Sin embargo, <meta charset="utf-8"> es solo para HTML5 (y más fácil de escribir / recordar).

A su debido tiempo, el estilo antiguo está destinado a quedar obsoleto en un futuro próximo. Me quedo con el nuevo <meta charset="utf-8"> .

Solo hay una forma, pero arriba. En el caso de la tecnología, eso está eliminando lo viejo (realmente, realmente rápido)

Documentación: Atributo del conjunto de caracteres HTML : W3Schools