Ver Mensaje Individual
  #3 (permalink)  
Antiguo 05/06/2008, 12:37
ccratfdw
 
Fecha de Ingreso: mayo-2008
Mensajes: 8
Antigüedad: 16 años
Puntos: 0
Respuesta: Caracteres incorrectos en responseText

Creia que las funciones utf8_encode y utf8_decode que mencionaste me ayudarian, pero no ha sido asi.

Te pondre un ejemplo de lo que pasa. En la pagina original, si la cargas desde un navegador (como el IE), tienes la siguiente cadena de texto:
¿Desea salir del menú de utilidades?

Si lo coges con ajax y haces directamente un alert(req.responseText) obtienes:
#Desea salir del men#utilidades?

Si utilizas en cambio alert(utf8_encode(req.responseText)) obtienes:
¡¿¿Desea salir del menï¿¿utilidades?

Y si utilizas finalmente alert(utf8_decode(req.responseText)) obtienes:
#sea salir del men#ilidades?

Donde hay un simbolo almohadilla (#) en realidad es un cuadrado; supongo que sera un simbolo raro que no puede interpretarse bien al imprimirlo.

Si cargo la pagina en el Firefox, se vera correctamente si le digo Ver/ Codificacion de caracteres/ iso-8859-1 y la windows-1352. Si eligo que me lo muestre en utf-8 ya no lo muestra correctamente. Digo esto por si ayuda en algo.

Es desesperante, le estoy dando mil vueltas y no consigo cargar la pagina correctamente. ¿ Que charset esta enviando el servidor ?. ¿ Porque los navegadores no tienen ningun problema y con ajax no puedo ver bien lo recibido ?.

He estado haciendo pruebas, y he recorrido el string del responseText haciendo que me imprima cada caracter y su valor numerico (charcodeAt) y he descubierto que los caracteres raros tienen el valor 65535 (FFFF en hexadecimal). No se si esto puede ser un dato importante.

Salu2.

Última edición por ccratfdw; 05/06/2008 a las 13:45 Razón: Ampliar info. error