Foros del Web » Programando para Internet » PHP »

al guardar el XML los caracteres especiales me los traduce a hexadecimal

Estas en el tema de al guardar el XML los caracteres especiales me los traduce a hexadecimal en el foro de PHP en Foros del Web. Hola a todos, tengo un problemita y es que al generar un XML con el DOM: envío esto por POST mediante AJAX: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código ...
  #1 (permalink)  
Antiguo 07/01/2011, 04:39
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Pregunta al guardar el XML los caracteres especiales me los traduce a hexadecimal

Hola a todos, tengo un problemita y es que al generar un XML con el DOM:

envío esto por POST mediante AJAX:
Código HTML:
Ver original
  1. <li><ul class   "zone zCentral ui-sortable"><li><ul class="region rCol3 ui-sortable"><li class="" style=""><div><span class="tc tc_video">574081</span> <span>video: 'Mundo.Hoy': ¿Dónde habré olvidado... mi memoria?</span></div></li></ul></li></ul></li>

Código PHP:
Ver original
  1. header('Content-type: text/html; charset=utf-8');      
  2.         if(isset($_POST) && isset($_POST['data']))
  3.         {          
  4.             $data = '<ul id="zone_container" class="ui-sortable">';
  5.             $data .= $_POST['data'];
  6.             $data .= '</ul>';                          
  7.            
  8.             $dom = new DOMDocument('1.0', 'utf-8');
  9.             $dom->loadXML($data);
  10.            
  11.             echo $dom->saveXML();                      
  12.             exit();
  13.         }

y me genera esto

Código XML:
Ver original
  1. <?xml version="1.0"?>
  2. <ul id="zone_container" class="ui-sortable">
  3.     <li><ul class="zone zCentral ui-sortable"><li><ul class="region rCol3 ui-sortable"><li class="" style=""><div><span class="tc tc_video">574081</span> <span>video: 'Mundo.Hoy': &#xBF;D&#xF3;nde habr&#xE9; olvidado... mi memoria?</span></div></li></ul></li></ul></li></ul>

a ver si alguien puede echarme un cable, muchas gracias, eskerrik asko :)
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #2 (permalink)  
Antiguo 07/01/2011, 06:45
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: al guardar el XML los caracteres especiales me los traduce a hexadecimal

Creo que el problema es que la salida está codificada en windows-1252: Si muestras ese código por navegador correctamente codificado se muestra bien. Podrías utilizar la función iconv para solucionarlo: http://es.php.net/manual/es/function.iconv.php.
Espero que sirva, salu2
  #3 (permalink)  
Antiguo 07/01/2011, 06:47
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Respuesta: al guardar el XML los caracteres especiales me los traduce a hexadecimal

al final lo he solucionado con:

Código PHP:
Ver original
  1. $dom = new DOMDocument('1.0', 'utf-8');
  2. $dom->loadXML($data);
  3. $dom->encoding = 'utf-8';
  4. header('Content-type: text/html; charset=utf-8');
  5. echo $dom->saveXML();

importante poner:
$dom->encoding = 'utf-8';
después del loadXML
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan

Etiquetas: dom, hex, hexadecimal, 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 18:48.