Foros del Web » Programando para Internet » PHP »

Problema codificación php xml

Estas en el tema de Problema codificación php xml en el foro de PHP en Foros del Web. Hola gente! Tengo un problema que me esta rompiendo el coco, he buscado a destajo y ya no se que hacer: Estoy actualizando un archivo ...
  #1 (permalink)  
Antiguo 19/03/2010, 05:52
 
Fecha de Ingreso: octubre-2009
Mensajes: 17
Antigüedad: 15 años, 1 mes
Puntos: 0
Problema codificación php xml

Hola gente!
Tengo un problema que me esta rompiendo el coco, he buscado a destajo y ya no se que hacer:

Estoy actualizando un archivo XML desde un formulario con PHP, el archivo lo creo primero en mi equipo y lo guardo como UTF-8, tambien tengo la declaración del XML como UTF-8:

Código HTML:
 <?xml version="1.0" encoding="utf-8"?> 
lo subo al server y todo funciona correctamente, acentos incluido. El problema viene cuando actualizo el XML desde el formulario PHP, entonces dejan de verse los acentos bien.

Esto es lo que hago:

Código PHP:
    $NuevaCol->asXML('../xml/titulo_colecciones.xml');

    
//se pasan datos a galerias.xml
    
$NuevaGal = new SimpleXMLElement('../xml/galerias.xml'nulltrue);
    
//nodo con el nombre de la coleccion
    
$firstGal $NuevaGal->addChild(gal);
    
$attGal $firstGal->addAttribute("tit"utf8_encode($coleccion));
    
//hijo de coleccion (miniaturas)
    
$nodoMin $firstGal->addChild($miniaturas);
    
//hijo de miniaturas
    
$ChildMin $nodoMin->addChild("imgGalerias");
    
//atributo de imgGalerias (la ruta hacia la miniatura)
    
$attMin $ChildMin->addAttribute("imagen""img/".$coleccion."/".$miniaturas."/".$nombreMin);
    
    
//hijo de coleccion (mediaturas)
    
$nodoMed $firstGal->addChild($mediaturas);
    
//hijo de mediaturas
    
$ChildMed $nodoMed->addChild("imgGalerias");
    
//atributo de imgGalerias (la ruta hacia la mediatura)
    
$attMed $ChildMed->addAttribute("imagen""img/".$coleccion."/".$mediaturas."/".$nombreMed);
    
    
//hijo de coleccion (grandes)
    
$nodoGran $firstGal->addChild($grandes);
    
//hijo de grandes
    
$ChildGran $nodoGran->addChild("imgGalerias");
    
//atributo de imgGalerias (la ruta hacia la imagen grande) y datos de la obra
    
$attGran $ChildGran->addAttribute("imagen""img/".$coleccion."/".$grandes."/".utf8_encode($nombreGran));
    
$attGranTit $ChildGran->addAttribute("titObra""'".utf8_encode($titObra)."'");    
    
$attGranTam $ChildGran->addAttribute("tamObra"utf8_encode($tamObra));    
    
$attGranTec $ChildGran->addAttribute("tecObra"utf8_encode($tecObra));
    
    
//hijo de coleccion
    
$nodoTexto $firstGal->addChild($texto);
    
//hijos de texto
    
$ChildTexto $nodoTexto->addChild("titulo");
    
$attTexto $ChildTexto->addAttribute("tit"utf8_encode($coleccionConEspacios));
    
$ChildTexto $nodoTexto->addChild("info");
    
$attInfo $ChildTexto->addAttribute("tex"utf8_encode($txtInfo));
    
$ChildTexto $nodoTexto->addChild("fecha");
    
$attFecha $ChildTexto->addAttribute("fec"utf8_encode($fecha));
    
//header('Content-type: text/xml');
    //echo $NuevaGal->asXML();
    
$NuevaGal->asXML('../xml/galerias.xml'); 
El archivo se crea perfectamente y solo tengo problemas con los caracteres especiales. Lo curioso es que si bajo este archivo y con un simple editor de texto lo vuelvo a guardar como UTF-8 sin modificar nada los acentos ya se ven correctamente.

Sabeis que mas puedo hacer? Sabeis si hay alguna forma de cerciorarse de que al hacer el asXML respete la codificacion original del archivo?

Gracias de antemano,

Salut!

LaloP

Etiquetas: 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 22:19.