Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/04/2005, 03:51
secharles
 
Fecha de Ingreso: abril-2005
Mensajes: 6
Antigüedad: 19 años
Puntos: 0
Me respondo para aquellos que tengan un problema similar:

El problema consiste en que la librería DOMXML emplea la codificación UTF-8, de tal forma que al usar USO-8859-2, las vocales acentuadas y nuestra querida Ñ no se obtiene de forma correcta.

Para resolverlo he usado el tipo de datos CDATA para que no analice la cadena que contiene la Ñ y el contenido de esta etiqueta se codifica con la función utf8_encode(). Para recibir de nuevo la información, se emplea utf8_decode() para decodificar los caractéres "raros" y funciona.

En resumen:

$nodo->set_attribute('nombre',"$dato");
$cdata = $xml->create_cdata_section(utf8_encode("$valor"));
$nodo->append_child($cdata);

esto crea el xml (usar $xml->dump_mem(true,"UTF-8") para que lo devuelva con la codificación UTF-8). Para recoger el valor, usaríamos utf8_decode($valor) y listo, con todas las Ñ y acentos que te dé la gana.