utf8

Tabla de codificaciones de caracteres entre ANSI, UTF-8, Javascript, HTML

ene-virguilillaCuando hacemos una página web en utf8, al escribir una cadena de texto en javascript que contenga acentos, tildes, eñes, signos de interrogación y demás caracteres considerados especiales, se pintara de una forma extraña en el html. Esto es porque javascript tiene su propio sistema de codificación, al igual que el html. A continuación os dejo una tabla con los principales caracteres que se utilizan, ya que es útil tenerlos a mano para poder escribirlos:

ANSIUTF-8JAVASCRIPTHTML
ÁÁu00c1Á
ááu00e1á
ÉÉu00c9É
ééu00e9é
ÍÍu00cdÍ
ííu00edí
ÓÓu00d3Ó
óóu00f3ó
ÚÚu00daÚ
úúu00faú
ÑÑu00d1Ñ
ññu00f1ñ
¿Â¿u00bf¿

Y después de esta tabla a modo de apunte, os dejo la tabla completa de codificación de caracteres como eñes, acentos, tildes y demás caracteres entre ANSI, UTF8, Javascript y HTML:

ANSIUTF-8JAVASCRIPTHTML
Âu00a0 
¡Â¡u00a1¡
¢Â¢u00a2¢
£Â£u00a3£
¤Â¤u00a4¤
¥Â¥u00a5¥
¦Â¦u00a6¦
§Â§u00a7§
¨Â¨u00a8¨
©Â©u00a9©
ªÂªu00aaª
«Â«u00ab«
¬Â¬u00ac¬
­Â­u00ad­
®Â®u00ae®
¯Â¯u00af¯
°Â°u00b0°
±Â±u00b1±
²Â²u00b2²
³Â³u00b3³
´Â´u00b4´
µÂµu00b5µ
¶u00b6¶
·Â·u00b7·
¸Â¸u00b8¸
¹Â¹u00b9¹
ºÂºu00baº
»Â»u00bb»
¼Â¼u00bc¼
½Â½u00bd½
¾Â¾u00be¾
¿Â¿u00bf¿
ÀÀu00c0À
ÁÁu00c1Á
ÂÂu00c2Â
ÃÃu00c3Ã
ÄÄu00c4Ä
ÅÃ…u00c5Å
ÆÃ†u00c6Æ
ÇÇu00c7Ç
ÈÈu00c8È
ÉÉu00c9É
ÊÊu00caÊ
ËËu00cbË
ÌÃŒu00ccÌ
ÍÍu00cdÍ
ÎÃŽu00ceÎ
ÏÏu00cfÏ
ÐÐu00d0Ð
ÑÑu00d1Ñ
ÒÃ’u00d2Ò
ÓÓu00d3Ó
ÔÔu00d4Ô
ÕÕu00d5Õ
ÖÖu00d6Ö
××u00d7×
ØÃ˜u00d8Ø
ÙÙu00d9Ù
ÚÚu00daÚ
ÛÛu00dbÛ
ÜÜu00dcÜ
ÝÝu00ddÝ
ÞÞu00deÞ
ßßu00dfß
àÃu00e0à
ááu00e1á
ââu00e2â
ããu00e3ã
ääu00e4ä
åÃ¥u00e5å
æÃ¦u00e6æ
ççu00e7ç
èèu00e8è
ééu00e9é
êêu00eaê
ëëu00ebë
ììu00ecì
ííu00edí
îîu00eeî
ïïu00efï
ððu00f0ð
ññu00f1ñ
òòu00f2ò
óóu00f3ó
ôôu00f4ô
õõu00f5õ
ööu00f6ö
÷÷u00f7÷
øÃ¸u00f8ø
ùùu00f9ù
úúu00faú
ûûu00fbû
üüu00fcü
ýýu00fdý
þþu00feþ
ÿÿu00ffÿ

Espero que os sirva de ayuda tanto como a mi.

Tabla de codificaciones de caracteres entre ANSI, UTF-8, Javascript, HTML Leer más »

Problema de codificación UTF8, Internet Explorer 8 y PHP

El otro día tuve que tocar una web antigua de un compañero que estaba hecha en PHP4. Al abrir los archivos para hacer unos cambios que me pidieron, estos estaban codificados en vete tu a saber que codificación, así que al hacer cambios se estaba autocodificando todo en UTF8. Al hacer pruebas, todo va bien, en Chrome, Safari y Firefox se ve todo estupendamente, incluso en Internet Explorer 9 se veia bien, eso si, no sin antes añadir en la página el meta indicando que está codificada en UTF8. El problema es que cuando abres la misma web en Internet Explorer 8, este no muestra bien la codificación y esto es porque Internet Explorer 8 no lee bien el charset del meta de Content-Type y por tanto toma la codificación por defecto.

Una nota interesante es que Internet Explorer 8, aunque no reconoce el meta de Content-Type, si que reconoce el encabezado Content-Type que se envia desde el servidor en el protocolo http, por lo que, siguiendo unos sencillos pasos podemos paliar este problema y migrar esos proyectos antiguos que puedan haber por ahí a editores mas modernos.

  1. Recodificar el proyecto. Podemos utilizar un editor que guarde los archivos por defecto en UTF8 o hacernos de algún script que lo haga por nosotros.
  2. Añadir el meta de UTF8. En todas las páginas publicas, debemos añadir un meta de UTF8 y si ya existiera con el típico ISO-8859-1, cambiarlo a UTF8. Algo como <meta http-equiv=»Content-Type» content=»text/html; charset=UTF-8″ />
  3. Por último y no menos importante, devolver el encabezado de http con el Content-Type en UTF-8. Con algo como esto: header(‘Content-type: text/html; charset=utf-8’);

El código resultante sería en nuestro html:

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

Y nuestro php, antes de devolver nada de texto, pintar la cabecera de http:

<?php
  header('Content-type: text/html; charset=utf-8');
?>

Por último comentaros que w3c recomienda en HTML5 que el meta de Content-Type se ponga como el primer elemento dentro del head antes incluso que el title para que se pueda interpretar correctamente la página.

Problema de codificación UTF8, Internet Explorer 8 y PHP Leer más »

Scroll al inicio