XHTML » ISO 8859-1 y UTF-8: Solución al problema de codificación de caracteres

Quizás este es un problema que nos ha causado un gran dolor de cabeza y por el cual muchos programadores (incluyéndome) ya han pasado o lo están haciendo. Se trata de la codificación de caracteres: cuando nos aparecen esos caracteres extraños y que no deberían estar ahí.

Primero que nada, hay que tener claro las diferencias de cada una de las codificaciones más utilizadas y que más acarrea a este problema.

¿UTF-8 o ISO-8859-1?

Técnicamente cualquiera de las codificaciones nos sirve, ya que a nivel de nuestro uso en las páginas webs, al comparar una codificación con la otra en el tamaño de los bits que son transferidos, es demasiado inferior para decir cual es la mejor.

Preferentemente, yo elijo UTF-8 por seguir la línea y el posicionamiento que ha tomado esta codificación sobre la gran mayoría de sitios que existen. Esto ha acarreado otras cosas, por ejemplo, que existan sitios que al obtiener la información de tu sitio, surge el famoso problema al mostrarla por no ser compatibles con tu codificación.

La solución

La solución al problema radica al momento de guardar el archivo. Si en el <meta> del <head> especificas una codificación, esta debe coincidir con la cual codificas tu archivo.

Es muy simple, pero cuesta descifrarlo. Quizá con algo de experimentación te darás cuenta de que trata.

Solución a la codificación UTF-8

Metatag en la cabecera del HTML (entre <head> y </head>):

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

Codificación al momento de guardar tu archivo: UTF-8.

Si existe la opción UTF-8 sin bom, úsala. En mi experiencia he tenido problemas sin esta opción con archivos PHP independientes que se conectan a través de la función include().

Solución a la codificación ISO-8859-1

Metatag en la cabecera del HTML (entre <head> y </head>):

<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />

Codificación al momento de guardar tu archivo: ANSI.

Aclaraciones

No es necesario utilizar las entidades HTML para lograr lo que se quiere a exepción de &gt;, &lt; y &quot; que pueden interferir en la sintaxis del mismo. Lo menciono porque algunos las utilizan convirtiendo todos sus textos para dar solución al problema erróneamente.

En conclusión: Asegura que la codificación del archivo guardado coincida con la especificada en el metatag. Puedes usar todos los acentos y caracteres extraños que quieras.

Estas condiciones valen para cualquier tipo documento.

Diego Escares

Publicado el 15 de Junio del 2010 por Diego Escares

7342 visitas, 3 mensajes y 2 ediciones

Mensajes

foros foros el 01 de Agosto del 2010: 0

Null, hace poco estuve haciendo algunas pruebas sobre el tema, dejo el enlace ya que puede resultar útil
http://foros.emprear.com/codificar/
Aparte de esto se me presenta un problema con lo siguiente y quizás tengas idea de por que se produce, tengo una web que carga html en un div central via Ajax. El caso es que la página que carga las cosas esta en iso-8859-1 y la unica forma de que los archivos cargados se vea correctamente es codificandolos como utf-8 (ya hice todas las pruebas habidas y por haber). Sin embargo la página principal sigue estando en iso-8859-1 / ansi
puedes observarlo en
http://sayu.emprear.com/quienes_somos.html
en la colomna derecha vas a ver do pequeños vinculos al mismo archivo, uno con utf-8 y el otro con iso-8859/ansi) al último y si bien no es necesario le inclui el meta correspondiente para la codificación.
A esta altura ya es más por curiosidad que por otra cosa
Saludos

Diego Escares Diego Escares el 02 de Agosto del 2010: 0

Me gustó el primer link, donde guardan un archivo con diferentes combinaciones. El caso ajax una vez me dio problemas, porque las peticiones ajax también necesitan especificar el juego de caracteres, pero no recuerdo como le dí solución.
No entendí mucho del segundo link.

linexteria linexteria hace 6 meses: 0

UTF-8 lo uso siempre, y es el más recomendado... por que soporta más caracteres que iso-8859-1

¡Amigo! te demorarás 10 segundos en crear tu cuenta.

Disfrutarás de todos los beneficios de DocumentoWeb.

Twitter Twitter Facebook Facebook Feed RSS Feed RSS

www.DocumentoWeb.com Licencia Creative Commons