Tildes en Javascript
Para mostrar tildes y otros carácteres especiales con javascript, por ejemplo en un alert()
hay que hacerlo en unicode. En Nice entity hay una lista de conversión entre carácteres especiales y su versión en HTML y unicode.
Por ejemplo, á en unicode sería \u00e1
, de manera que es prácticamente imposible recordar todos los carácteres, por eso lo más lógico es hacer una función que nos los convierta, así podemos escribir con los carácteres que queramos sin preocuparnos de la codificación, y luego aplicar la función.
He hecho una con las más importantes, usa replace()
:
function tildes_unicode(str){
str = str.replace('á','\u00e1');
str = str.replace('é','\u00e9');
str = str.replace('í','\u00ed');
str = str.replace('ó','\u00f3');
str = str.replace('ú','\u00fa');
str = str.replace('Á','\u00c1');
str = str.replace('É','\u00c9');
str = str.replace('Í','\u00cd');
str = str.replace('Ó','\u00d3');
str = str.replace('Ú','\u00da');
str = str.replace('ñ','\u00f1');
str = str.replace('Ñ','\u00d1');
return str;
}
Un ejemplo de uso sería:
var cadena = "Así";
alert(tildes_unicode(cadena)); // Así
alert(cadena); // AsÃ