Codificacion de caracteres - UTF-8

El español es un lenguaje que por suerte o por desgracia posee caracteres especiales tales como tildes, ñ, diéresis (ü)...

Esto en HTML es un problema, pues no todo hay forma de mostrarlo más que con entidades HTML (códigos especiales que muestran estos caracteres).

Por ejemplo:

á => á
é => é
í => í
ó => ó
ñ = ñ
.
.
.

Entendiendo la codificación de caracteres; ¿Qué es y para qué sirve?

Una forma de "estandarizar" la visualización de este tipo de caracteres sin tener que escribir constantemente las entidades HTML que las definen (ver ejemplo anterior) es utilizar una codificación de caracteres.

Se entiende por codificación de una página Web a la tabla de caracteres que es utilizada en ella. Una tabla de caracteres es una lista de caracteres válidos; por ejemplo, una página en español necesita disponer de todas las letras del abecedario (incluida la ñ) así como tildes, interrogaciones, exclamaciones y demás caracteres característicos del idioma.

Al declarar una codificación en nuestra página web estamos, por decirlo de alguna manera, diciéndole al navegador cómo debe interpretar esos caracteres especiales que componen el texto; por lo que internamente el navegador hará las sustituciones de los caracteres especiales por las entidades HTML correspondientes de forma automática.

De forma resumida, nos permite escribir con total normalidad en nuestro documento HTML sin preocuparnos de las tildes, interrogaciones y demás caracteres especiales del lenguaje.

¿Cómo se usa en HTML?

Para utilizar una codificación basta con incluir la etiqueta mostrada a continuación en la cabecera de nuestro documento HTML (entre las etiquetas <head> y </head>).

Versión XHTML:

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

Versión HTML5:

<meta charset="UTF-8"/>

¿Qué requisitos tengo que cumplir?

Requisitos como tal no hay, pero sí una serie de pautas o recomendaciones que hay que tener muy en cuenta:

¿Por qué UTF-8?

No voy a tratar de convencer a nadie, pero a todos nos gustaría tener una web "universal" y legible por todos (sean de donde sean). UTF-8 es el sistema de codificación más extendido y con más soporte a lo largo y ancho del mundo; por algo será, ¿no?