UTF-8 en ficheros HTML/XHTML de Apache usando .htaccess

Algunas veces puede interesarnos (y de hecho pudiera ser recomendable) que nuestros ficheros HTML/XHTML tengan codificación UTF-8, para permitir un gran abanico de caracteres de diversos idiomas no occidentales, por ejemplo.

Lo primero que deberíamos hacer es poner en nuestro fichero HTML/XHTML la siguiente etiqueta meta:

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

Pero es posible que al probar nuestra web, no esté mostrando los caracteres UTF-8 correctamente, o bien si validamos la web en W3C para comprobar que sea un HTML/XHTML válido nos encontremos con un fallo como este:

The character encoding specified in the HTTP header (iso-8859-1)
is different from the value in the <meta> element (utf-8).

Entonces debemos forzar al servidor Apache de nuestro servidor a que sirva las páginas .html en UTF-8 al navegador. Esto se consigue añadiendo al fichero .htaccess la linea:

AddCharset UTF-8 .html

Con esto conseguimos que todos los ficheros .html que cuelguen del directorio donde se encuentre el .htaccess (y subdirectorios), sean servidos al navegador con codificación UTF-8.

Esto se puede complicar más 🙂

<Files "example.html">
AddCharset UTF-8 .html
</Files>

Esto hace que solo el fichero example.html de ese directorio sea servido como UTF-8.

También podemos hacer algo así:

<Files "example.html">
ForceType 'text/html; charset=UTF-8'
</Files>

Esto fuerza a que el fichero example.html sea servido como UTF-8, y además de tipo texto plano con contenido HTML.

Por último, este ejemplo:

AddCharset UTF-8 .utf8
AddCharset windows-1252 .html

Aquí se dice al servidor Apache: Todos los ficheros con extensión .utf8 sírvelos al navegador con codificación UTF-8. Y todos los ficheros .html sean servidos con codificación windows-1252.

Os invito a dejar como comentarios más ejemplos de uso de las directivas AddCharset y ForceType, u otras relacionadas con el contenido y codificación de ficheros, para el fichero .htaccess de Apache.

Anuncios

Etiquetado:,

Un pensamiento en “UTF-8 en ficheros HTML/XHTML de Apache usando .htaccess

  1. Jose Luis septiembre 13, 2012 en 9:02 pm

    Superrrrrr me ha servido un montooooooonnnn!!! gracias ;D

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: