#34730 [Opn->Bgs]: saveXML translates UTF-8 characters to entities

From: Date: Tue, 04 Oct 2005 12:53:12 +0000
Subject: #34730 [Opn->Bgs]: saveXML translates UTF-8 characters to entities
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-85992@lists.php.net to get a copy of this message
ID: 34730 Updated by: derick@php.net Reported By: pesmail2003 at seznam dot cz -Status: Open +Status: Bogus Bug Type: DOM XML related Operating System: Linux 2.6.10-5-i386 PHP Version: 5.0.5 New Comment: You need to specify the charset encoding in your XML, like so: <?php $xmlData = <<<XMLCODE <?xml version="1.0" encoding="utf8"?> <test>"привате</test> XMLCODE; $dom = new DomDocument; $dom->loadXML( $xmlData ); echo $dom->saveXML(); ?> Previous Comments: ------------------------------------------------------------------------ [2005-10-04 14:46:19] pesmail2003 at seznam dot cz Description: ------------ saveXML function replaces UTF-8 characters to entities. If I have some UTF-8 characters in my loaded XML file and want to save it with saveXML, it replace everything to entities like this &#x10D; &#x159; &#x17E; &#xFD;&#xE1; &#xED; &#xE9; I had to write my own saveXML in PHP and it's really bad. Reproduce code: --------------- <?php $xmlData = <<<XMLCODE <?xml version="1.0" ?> <test>"ìšèøžýáíé</test> XMLCODE; $dom = new DomDocument; $dom->loadXML( $xmlData ); echo $dom->saveXML(); ?> Expected result: ---------------- <?xml version="1.0"?> <test>"ìšèøžýáíé</test> Actual result: -------------- <?xml version="1.0"?> <test>"&#x11B;&#x161;&#x10D;&#x159;&#x17E;&#xFD;&#xE1;&#xED;&#xE9;</test> ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=34730&edit=1

« previous php.bugs (#85992) next »