Uno de los problemas mas recurrentes es el mostrar correctamente los caracteres tildados, eñes entre otros (á, é, í, ó, ú, ñ...), esto es sencillo de resolver en html utilizando el código html del mismo, pero si deseamos mostrar tildes en Javascript, por ejemplo en un alert obtenemos resultados indeseados.

Por ejemplo si tenemos el siguiente script que muestra un mensaje de alerta a los usuarios, ala ejecutarlo se mostraran caracteres extraños dependiendo de la codificación de la página.
-
function hello() {
-
alert("Atención Perú!!!");
-
}
Cadenas de escape en Javascript
Las cadenas de escape permiten introducir caracteres especiales en Javascript como saltos de linea, tildes, tabuladores, etc. Entre estas cadenas de escape podemos listar:
- \n: Salto de linea.
- \r: Retorno de carro.
- \t: Tabulación horizontal.
- \v: Tabulación vertical.
- \': Comilla simple o apostrofe.
- \": Comilla doble.
- \\: Barra invertida.
- \xdd: Caracter especial especificado por dos dígitos hexadecimanes dd
Esta ultima cadena de escape nos permitirá mostrar todos los caracteres que deseamos, para ello solo nos hace falta conoces los equivalentes hexadecimales de los caracteres.
Tabla de Caracteres Especiales
Los caracteres especiales están expresados en números hexadecimales y con ellos podremos imprimir cualquier caracter de acuerdo a nuestras necesidades.
Luego reemplazando las letras tildadas por sus equivalentes tendríamos la función de ejemplo:
-
function hello() {
-
alert("Atenci\xf3n Per\xfa!!!");
-
}
Pueden ver el ejemplo funcionando en Tildes en Javascript en donde podemos ver el resultado de aplicar los caracteres especiales. Además de ello pueden encontrar una tabla de equivalentes mas completa en Unicode Character Table.
Posts Relacionados
Comentarios Total 17 comentarios
Publicado: 17/05/2008 10:05 am
muchas gracias, muy util !!
Publicado: 17/05/2008 10:56 am
Para evitar esos problemas simplemente se debe especificar la codificación adecuada.
Publicado: 19/05/2008 7:20 am
@alex: Debería, pero no siempre funciona. En el curro ya hemos configurado, reconfigurado y requeteconfigurado tanto Apache como PHP y MySQL y no hay manera. Al menos ahora hemos conseguido que las cadenas que tomamos directamente de MySQL las envíe con el &xacute; de marras, pero con los “alert” seguimos con problemas (yo edito en UTF-8, se supone que Apache dice en la cabecera que lo envía en UTF-8, pero por alguna razón se empeña en interpretarlo con la codificación de Windows).
@unijimpe: Gracias. A ver si ahora la cosa funciona.
Publicado: 20/05/2008 8:55 pm
[...] Vía: unijimpe [...]
Publicado: 28/05/2008 1:06 pm
Cierto, como dice alex, con la codificación adecuada, ya es suficiente.
El archivo js debe estar codificado en utf8 sin BOM (Byte order mark), el html debe de tener las cabeceras de meta type content de utf8, y el archivo tambien codificado con urf8. No me ha dado problemas siguiendo esta configuracion, y utilizado en proyectos grandes.
Publicado: 28/05/2008 1:12 pm
@Ñuño: Sobre lo de la extraccion de la DB, no hace falta que no sustituyas por ´ etc… se soluciona (primero teniendo la DB en utf-8) y segundo haciendo la primera query despues de la conexion con SET NAMES ‘utf8′ (si no recuerdo mal).
Con esto no hay caracter raro que se te resista
Publicado: 08/09/2008 4:08 pm
(y) eso es lo que quer\xeda
Publicado: 08/09/2008 4:08 pm
(Y) buena con la fija de javascript (\xed)
Publicado: 16/09/2008 8:25 pm
dque onda..
amo al que invento eso.. lo amo.
Publicado: 12/01/2009 8:22 am
hola,
gracias por esta información, me sera muy util.
Te falta la ñ, y como he puesto este post en favoritos para cuando lo necesitare, aqui lo añado: \xF1
saludos
Publicado: 12/01/2009 8:23 am
perdon, acabo de verla.
y perdon por el doble comentario
Publicado: 02/02/2009 9:53 am
Gracias!!!
Publicado: 07/05/2009 12:12 pm
Gracias me ahorraste unos dolores de cabeza que ya me estaban empezando!!
:D
Publicado: 14/08/2009 10:16 am
Muy útil. Muchas gracias!!
Publicado: 09/09/2009 10:22 pm
Gracias
Publicado: 24/09/2009 11:36 am
buen post pero hay otras opciones como poner á que es para la (á) , etc etc pruebes con esto tambien espero le sirva
Publicado: 11/12/2009 9:39 am
Muy util, desde hace mucho tenia esta incognita. Saludos