Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Problemas al recibir XML con acentos

Estas en el tema de Problemas al recibir XML con acentos en el foro de Frameworks JS en Foros del Web. Muy buenas de nuevo a todos, Resulta que tengo problemas trabajando con AJAX (usando JQuery), a la hora de recibir paquetes XML con acentos el ...
  #1 (permalink)  
Antiguo 16/02/2010, 13:00
 
Fecha de Ingreso: agosto-2003
Ubicación: Málaga, España
Mensajes: 419
Antigüedad: 21 años, 4 meses
Puntos: 1
Problemas al recibir XML con acentos

Muy buenas de nuevo a todos,
Resulta que tengo problemas trabajando con AJAX (usando JQuery), a la hora de recibir paquetes XML con acentos el paquete no se forma o no sé que pasa que a la hora de parsearlo es como si estuviera vacio. Pero si hago un alert(datos.responseText) el contenido es OK. El problema sólo ocurre cuando en el contenido del paquete contiene caracteres especiales 'latin-1' como acentos.

He mirado en hilos pasados, y aunque se ha hablado del tema no veo que nadie haya preguntado cuando el Content-type: text/xml (y no HTML).

Ahora veamos como estoy organizando el código para que veas mejor el problema.
El caso real es que se envía un email desde un formulario y el server devuelve en un doc XML la ficha de un/varios usuario/s.

Recepción:
Lo procesa el archivo getUsers.php
he probado todas las combinaciones de cabeceras ;)

Envío: (Los parámetros del envio se reciben en getUsers.php correctamente)
Código HTML:
function ObtenerDatos(url_peticion) {
	cargado = false;
                params = "EMail="+encodeURIComponent(email);
	jQuery.ajax({
	  url: url_peticion+"?"+params,
	  page: '',
	  type: 'GET',
	  dataType: 'xml',
	  async: false,
	  complete: function(datos) {
	  	cargado = true;
		showUsers(datos.responseXML);
		//alert(datos.responseText);
	  }
	 });
}


function showUsers(docXML) {
	idATRIB = '', valorATRIB = '';
                // ¡¡ Al llegar aquí el valor length = 0 cuando viene un acento !!
	alert(docXML.getElementsByTagName('USER').length);
	listaNodos = docXML.getElementsByTagName('USER');
	for (i=0;i<listaNodos.length;i++) {
	   // Aqui recorremos y parseamos el PAQUETE XML
	}
}
Bueno, a ver si podeis echarme una mano.
Y como siempre, muchas gracias por la atención y un saludo!
  #2 (permalink)  
Antiguo 17/02/2010, 10:09
 
Fecha de Ingreso: agosto-2003
Ubicación: Málaga, España
Mensajes: 419
Antigüedad: 21 años, 4 meses
Puntos: 1
Respuesta: Problemas al recibir XML con acentos

Hola de nuevo!
Finalmente encontré yo mismo el problema:

Resulta que el paquete XML tiene que tener en el encabezado el charset:
<?xml version="1.0" encoding="ISO-8859-1"?>

(y se me había pasado, pues daba por hecho que lo tenía)
Gracias de todas maneras y espero que le sirva a alguien.

Etiquetas: acentos, ajax, recibir, xml
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:26.