Cada vez que programamos alguna función con Javascript (JS de ahora en adelante), muchas veces tenemos que mostrar por pantalla mensajes de error o informativos. Esto lo hacemos con la función JS alert.

Esta función recibe como parámetro una cadena o variable para mostrar por pantalla dicho mensaje o contenido de variable por pantalla en forma de cuadro de diálogo. Interrumpe la ejecución del código hasta que no pulsamos "Aceptar".

Pues bien, más de una vez quizás nos hayamos encontrado con el problema que cuando escribimos "tildes", dependiendo de la codificación de la página, pues el mensaje muestre las palabras con tildes de manera "extraña" (incluimos también la Ñ). Por ejemplo, veamos el siguiente código que podemos copiar y pegar en un documento html.

<script>
function alertas() {
 alert("Comemos piña y limón.\n");
}
</script>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=8859-1">
<title>Prueba de tildes</title>
</head>
<body onLoad="alertas()">
</body>
</html>

Este sencillo código hace que nada más cargar la página, en el evento onLoad, se ejecute la función "alertas()", que lo único que hace es mostrarnos un texto, con tildes y 'eñes'. Es de esperar, y siempre teniendo en cuenta la codificación de la página y el navegador desde donde la veamos, que el mensaje salga ilegible.

Para ello JS dispone de unas secuencias de escape y códigos hexadecimales para que estos caracteres se vean debidamente. Ponemos aquí primeramente las secuencias de escape más conocidas:

    * \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 (solución a las tildes).

Para completar esta información, facilitaremos la tabla de códigos hexadecimales con sus correspondientes códigos y que son los que tendremos que poner en lugar de "dd".

Teniendo esto en cuenta, si modificamos el código anterior de la siguiente manera:

<script>
function alertas() {
 alert("Comemos pi\xF1a y lim\xF3n.\n");
}
</script>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=8859-1">
<title>Prueba de tildes</title>
</head>
<body onLoad="alertas()">
</body>
</html>

... cabe esperar que el mensaje se lea de forma totalmente normal.

Esto es algo muy muy básico, pero hay que reconocer que tener a mano la tabla con los códigos es muy útil, porque para asegurarnos que las tildes y caracteres especiales se verán correctamente en todos los PCs debemos utilizar esta táctica.

Espero que os sirva, o al menos, que os interese.