Acentos en AJAX
octubre 24th, 2008 por Pablo ValenzuelaAl utilizar un Charset distinto a UTF8 en tu web, habrás notado que se muestran carácteres extraños en la respuesta Ajax de tus scripts. No solo la respuesta necesita modificaciones para funcionar en otros formatos (en este caso en ISO-8859-1) sino también la recepción de datos también habrá que formatearla.
Por un lado, para mostrar en ISO-8859-1, en PHP es necesario incluir una cabecera (en ASP lo haremos con un Response.Header()):
En el momento que enviemos cadenas de texto y tengamos que operar o mostrarlas en el fichero al que se hace la petición Ajax, deberemos formatearla. La razón es que el Objeto XMLHTTP trata el texto en formato UTF8, por lo tanto, aunque lo enviemos desde una página en ISO-8859-1, se enviará como UTF8 y si lo intentamos mostrar en una página con ISO-8859-1, se verán carácteres extraños. Por ello, si queremos tratar cadenas de texto, antes de nada, las formatearemos así:
-
// recibo la cadena por GET y le aplico la decodificación
-
echo $Nueva_Cadena;
Y así podremos tratar correctamente el texto en otro formato distinto a UTF8.
Aunque todo el mundo recomienda trabajar en UTF8, yo siempre he trabajado en este otro formato.



