Google
Web dns.bdat.net

Re: [PHP-ES] Re: Problemas con la codificación de XML usando DOM

Write haof XML files: Micro Mega Dust ( micromegadust@gmail.com)
Fecha: sáb 03 sep 2005 - 17:07:14 CEST


Hola Hari Seldon,

Tu código no me sirve, no puedo usar cabeceras HTTP. tengo que guardar
un archivo XML en el disco duro, y tanto si uso fopen() y tal, como si
uso el método save() de DOM, sigo teniendo los mismos problemas que he
descrito antes.

> Me daba algún problemilla al quererle meter
> caracteres sin meterle la codificación
> UTF-8, por ello tengo metido el tema de
> htmlentities.

Esto también me pasa, pero para mi, es un problemazo. Apache se queda
colgado, (el navegador se queda como si la página siguiera
cargandose), supongo que por culpa del módulo PHP, y el tiempo limite
de ejecución para un script de PHP no funciona. :^?
Es lo que comenté en el primer mensaje, sobre que PHP se me "atragantaba".

Apache 2.0.54
PHP 5.0.4.4
Windows XP

P.D: Usando estas versiones, normal que me pasen cosas raras... :^)

2005/9/2, Hari Seldon < hari.seldon@telefonica.net>:
> A mi este código que posteo me iba bien:
>
> <code>
> // se comprueba que la conexión se ha establecido de forma correcta:
> if (DB::isError($dbpDBConn)) {
> header("Content-Type: application/xml; charset=UTF-8");
> $ddxmlObjectEr = new DomDocument('1.0', 'UTF-8');
> $dexmlErrorNode = $ddxmlObjectEr->createElement('ERROR');
> $dexmlErrorNode->setAttribute("datequeryError", date('Y-m-d
> H:i:s'));
> $dexmlErrorNameNode = $ddxmlObjectEr->createElement('ERRORNAME');
> $dtxmlTexto = $ddxmlObjectEr->createTextNode(htmlentities("Error en
> conexión a base de datos", ENT_QUOTES, "UTF-8"));
> $dexmlErrorNameNode->appendChild($dtxmlTexto);
> $dexmlErrorNode->appendChild($dexmlErrorNameNode);
> $dexmlErrorNodeDesc = $ddxmlObjectEr->createElement('ERRORDESC');
> $dtxmlTexto =
> $ddxmlObjectEr->createTextNode(htmlentities($dbpDBConn->getMessage(),
> ENT_QUOTES, "UTF-8"));
> $dexmlErrorNodeDesc->appendChild($dtxmlTexto);
> $dexmlErrorNode->appendChild($dexmlErrorNodeDesc);
> $ddxmlObjectEr->appendChild($dexmlErrorNode);
> echo $ddxmlObjectEr->saveXML();
> die();
> }
> </code>
>
> Aquí yo genero un documento para salida en navegador, en el caso de que una
> conexión con base de datos mediante PEAR::DB haya sido errónea; modifico las
> cabeceras del documento, y le digo que el nuevo DomDocument ha de ser v. 1.0
> y con codificación UTF-8
>
> Me daba algún problemilla al quererle meter caracteres sin meterle la
> codificación UTF-8, por ello tengo metido el tema de htmlentities.
>
> Yo creo que si modificas las cabeceras HTTP con header te irá sin problemas.
>
> Saludos.

-- 
PHP Spanish Localization Talk Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


Este archivo fue generado por hypermail 2.1.7 : sáb 18 mar 2006 - 18:23:49 CET