
18/04/2005, 03:51
|
| | Fecha de Ingreso: abril-2005
Mensajes: 6
Antigüedad: 20 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. |