Retroceder   Foros del Web > Programación para sitios web > AJAX

Respuesta
 
Herramientas Desplegado
Antiguo 24-sep-2007, 09:49   #1 (permalink)
aurah ha deshabilitado el karma
 
Avatar de aurah
 
Fecha de Ingreso: abril-2005
Mensajes: 25
Exclamación XML, AJAX y la letra Ñ, AUXILIO!!!

Hola, mi problema es el siguiente, tengo una página en PHP que usa AJAX. Basicamente tengo una consulta con una base de datos donde me traigo nombres de clientes, hasta ahí todo bien, el problema se presenta cuando uno de esos nombres tiene una letra Ñ.
Ya cambie la codificación del XML a UTF-8 as.i: <?xml version='1.0' encoding='UTF-8'?> y el XML ya lee el nombre perfectamente, pero cuando ejecuto la página me da un error de javascript que dice: "Se requiere un objeto".
El código en javascript es el siguiente:
function handleHttpResponse()
{
if (http.readyState == 4 )
{
resultsxml = http.responseXML;
var existe= resultsxml.getElementsByTagName('existe');
if(existe[0].firstChild.nodeValue=='yes')
{
document.getElementByI('cmbtipodocwu').readOnly=tr ue;
document.getElementById('txtnroident').readOnly=tr ue;
var nombrecli=resultsxml.getElementsByTagName('nomclie nte');
document.getElementById('txtnomcliente').value=nom brecli[0].firstChild.nodeValue;
document.getElementById('txtnomcliente').readOnly= true;
document.getElementById('txtnomcliente').readOnly = true;
}
else
{
document.getElementById('resultado').innerHTML = "<CENTER><FONT class=normal color=red><B>El Cliente no existe, por lo tanto no puede hacer la operación, por favor Verifique e intente de nuevo...</B></FONT></CENTER><BR><BR>";
}
}
}


El XML es el siguiente:

<?php
$query="select clientewu.rifci, clientewu.nombre as cliente, clientewu.codtipoid, tipodocwu.siglas as tipoidentificacion from clientewu, tipodocwu where clientewu.codtipoid=tipodocwu.codtipodocwu and clientewu.rifci=".$_GET['txtidentificacion']." and clientewu.codtipoid=".$_GET['cmbtipodocwu'];
$result=pg_exec($conexion,$query) or die ("No se pudo realizar el query");
$number=pg_NUMROWS($result);
if($number>0)
{
$existe="yes";
$nomcliente=pg_result($result, 0, "cliente");
}
else
{
$existe="no";
$nomcliente='';
}
$xml="<?xml version='1.0' encoding='UTF-8'?>\n";
$xml.="<cliente>\n";
$xml.="<nomcliente>$nomcliente</nomcliente>\n";
$xml.="<existe>$existe</existe>\n";
$xml.="</cliente>\n";
header('Content-Type: text/html; charset=iso-8859-1');
echo $xml;

?>


Por favor ayúdenme ya he investigado por todas partes y no consigo nada..

Muchísimas gracias......
aurah está desconectado   Responder Citando
Antiguo 24-sep-2007, 12:42   #2 (permalink)
zaqpz está en el buen camino
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 390
Enviar un mensaje por MSN a zaqpz
Re: XML, AJAX y la letra Ñ, AUXILIO!!!

Como encoding te conviene utilizar ISO-8859-1, osea te quedaría

Código PHP:
$xml='<?xml version="1.0" encoding="ISO-8859-1"?>';
Despues en la cabecera que envias con la función header debes explicitar que se trata de un XML de esta forma:

Código PHP:
header("Content-type: text/xml"); 
Hasta aquí tendrías solucionado el tema de acentos y ñ. Si deseas traer tu XML con otros caracteres "extraños" como ser un "<", debes colocar la construcción CDATA de esta forma:

Código PHP:
$xml.="<nomcliente><![CDATA[$nomcliente]]></nomcliente>"
Saludos.
__________________
R4DS en español | R4DS en inglés
zaqpz está desconectado   Responder Citando
Antiguo 24-sep-2007, 12:42   #3 (permalink)
zaqpz está en el buen camino
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 390
Enviar un mensaje por MSN a zaqpz
Re: XML, AJAX y la letra Ñ, AUXILIO!!!

Se me duplicó el mensaje y no puedo borrar este. Por favor algun mod, gracias.
__________________
R4DS en español | R4DS en inglés
zaqpz está desconectado   Responder Citando
Antiguo 24-sep-2007, 13:01   #4 (permalink)
aurah ha deshabilitado el karma
 
Avatar de aurah
 
Fecha de Ingreso: abril-2005
Mensajes: 25
Re: XML, AJAX y la letra Ñ, AUXILIO!!!

De verdad muchísimas gracias zaqpz, tenía varios días en esto y no me salía, ya estaba muy frustrada.......

Gracias!!!!!!!!!!
aurah está desconectado   Responder Citando
Antiguo 24-sep-2007, 17:01   #5 (permalink)
MaBoRaK llegará a ser famoso muy prontoMaBoRaK llegará a ser famoso muy pronto
 
Avatar de MaBoRaK
 
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 1.767
Enviar un mensaje por MSN a MaBoRaK
Re: XML, AJAX y la letra Ñ, AUXILIO!!!

loading........


Sería bueno que desheches la posibilidad de poner el encoding en ISO-1234567890
y mejor poner el contenido en etiquetas

Código PHP:
$xml.="<nomcliente><![CDATA[$nomcliente]]></nomcliente>"

connection closed.
__________________
maborak@maborak.com
http://www.maborak.com
Maborak technologies
MaBoRaK está desconectado   Responder Citando
Respuesta

Calificación: Calificación de Tema: 1 votos, 1,00 de promedio.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 05:51.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93