|
|
|
Me he encontrado con el problema de que al passar información desde PHP a javascript con AJAX se pierden carácteres importantes como los acentos o las ñ.
Primero pense que era el tipo de codificación de los carácteres que estava en UTF-8 en vez de ISO-8859-1, peró al ver que estava bien mé decante por un error en el momento de passar la iformación entre AJAX y PHP
La solución fué la siguiente:
En los archivos PHP todas las variables que vayamos a enviar passarlas antes por un urlencode
$variable = urlencode($variable); Si es texto que no esta en ninguna variable mirar que todo lo que sean accentos y carácteres especiales que puedan dar problemas, que esten escritos con su código correcto, por ejemplo:
camión -> camión resistirá -> resistirá anónima -> anónima
En el archivo de AJAX al recoger el resultado debemos hacer un unescape, para mostrar los carácteres correctamente y no su código
txt=unescape(ajax.responseText); txt2=txt.replace(/\+/gi," "); document.getElementById(contenidor).innerHTML=txt2; También hice el replace debido a que el unescape dejaba en lugar de los espacios en blanco un +
|
|