Tildes en JavaScript

Uno de los problemas más 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 (ã por jemplo), pero si deseamos mostrar tildes en Javascript, por ejemplo en un alert() obtenemos resultados indeseados.

Tildes en cuadro de mensaje JavaScript

Tildes en cuadro de mensaje JavaScript

Por ejemplo si tenemos el siguiente script que muestra un mensaje de alerta a los usuarios, al ejecutarlo se mostrarán 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 en JavaScript (tal cual en C y similares) permiten introducir caracteres especiales como: saltos de línea, tildes, tabuladores, etc. Entre éstas cadenas de escape podemos listar:

  • \n: Salto de línea.
  • \r: Retorno de carro.
  • \t: Tabulación horizontal.
  • \v: Tabulación vertical.
  • \': Comilla simple o apóstrofe.
  • \": 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 sólo nos hace falta conocer 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.

Tabla Unicode de conversión a Hexadecimal

Tabla Unicode de conversión a Hexadecimal

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.

Artículo original : https://blog.unijimpe.net/tildes-en-javascript/