Comunidad de diseño web y desarrollo en internet

Entidades HTML, Charset y codificación de texto

A veces necesitamos mostrar símbolos acentuados o especiales de una región, ideogramas o fonemas especiales (Tildes, la eñe, la ç, signos raros, etc). Para poder usarlos, necesitamos una especie de "caja" que contiene letras, buscamos en la caja y si aparece el carácter deseado, se imprime en la pantalla, si no aparece, se imprime un carácter desconocido. Ahora piensen que hay cajas para todos los gustos e idiomas. Lógicamente necesitamos seleccionar la caja que más se nos acomode a nuestro idioma.

Aquellas cajas se llaman Charsets y en caso de que nuestro carácter no este en ella, podemos usar Entidades.

Primero la base... si hacen paginas web, les sonará conocido algo como á eso, es una entidad o entitie, como deseen llamarle. Bien sabemos que si escribimos á nos devolverá á. Pero dependiendo del charset, podemos obviarlas.

Un charset es una norma, algo que define como se verán ciertos caracteres. Partamos con el charset mas extendido: UTF-8. Este usa Unicode y el charset por defecto en XHTML y XML. UTF-8 tiene la ventaja de codificar cualquier carácter, ya que usa el estándar unicode, que tiene la capacidad de codificar cualquier carácter, como se puede ver aqui. Las desventajas son que dependiendo de la 'distancia' del carácter, usaremos mas espacio al visualizarlo.

Otro charset ampliamente usado, es el ISO-8859-1. Es una norma de la ISO (La organización mundial de los estándares). Usa ASCII mas 128 caracteres. En él se codifica todo el alfabeto latino (a-z, A-Z), diacríticos (á-ú, ñÑ, ý, ô... etc) entre algunas letras griegas.

Ahora bien, nosotros DEBEMOS usar entidades en dos instancias:

  • El charset no reconoce aquel carácter:
    Por ejemplo, si usamos ASCII a secas. Ahí deberíamos codificar nuestros caracteres nosotros mismos.
  • Usamos un carácter 'reservado':
    Por ejemplo < ó >, en lenguajes de etiquetado, como XHTML o XML, donde con <> se definen las etiquetas.

Para definir que charset vamos a usar en XHTML, debemos especificarlo como un atributo de una etiqueta meta:

Código :

<meta content="text/html; charset=[b]iso-8859-1[/b]" http-equiv="Content-Type" />

Y para definirlo en XML usaremos:

Código :

<?xml version="1.0" encoding="[b]iso-8859-1[/b]"?>

En caso de que lo necesiten, una tabla de entities ;)
Si se pone la primera letra en mayúscula, el resultado sera en mayuscula: &X; = X (&Aacute; = Á)
&aacute; = á
&eacute; = é
&iacute; = í
&oacute; = ó
&uacute; = ú

&agrave; = à
&egrave; = è
...

&acirc; = â
&ecirc; = ê
...

&auml; = ä
&euml; = ë
&aelig; = æ
&AElig; = Æ

&atilde; = ã
&ntilde; = ñ

//Símbolos.
&quot; = "
&amp; = &
&lt; = <
&gt; = >
&euro; = €
&nbsp; = (espacio)
&brvbar; = |
&circ; = ^
&copy; = ©

//Letras griegas, se pueden hacer mayúsculas poniendo en mayus la 1era letra
&Omega; = Ω
&upsilon; = υ
&el_nombre_de_la_letra ....

Para finalizar, algunas notas:
  • Sin importar la codificación, podemos usar entidades, pero deben asumir que &iacute; ocupa menos espacio que í.
  • La codificación que mas se acomoda para hispanoparlantes, es la ISO-8859-1.
  • El UTF-8 es el charset por defecto en cada estándar de la W3C

  • Dependiendo del lenguaje en que escribamos, van a existir caracteres reservados. En un lenguaje de programación los escapamos, en XHTML usamos entidades.

Espero que les sea de ayuda... Saludos ^^

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate