Michael Wallner wrote:
Derick Rethans wrote:
On Tue, 19 Sep 2006, Antony Dovgal wrote:

http://cvs.php.net/viewvc.cgi/php-src/ext/libxml/tests/002.phpt?r1=1.2&r2=1.3&diff_format=u
Index: php-src/ext/libxml/tests/002.phpt
diff -u php-src/ext/libxml/tests/002.phpt:1.2
php-src/ext/libxml/tests/002.phpt:1.3
--- php-src/ext/libxml/tests/002.phpt:1.2       Tue Jun 27 22:54:29 2006
+++ php-src/ext/libxml/tests/002.phpt   Tue Sep 19 12:06:49 2006
@@ -16,7 +16,7 @@
    </movies>
 XML;
-$doc = simplexml_load_string($xmlstr);
+$doc = simplexml_load_string((binary)$xmlstr);
 $xml = explode("\n", $xmlstr);
You shouldn't have to do this actually... as the original code should just
still work fine.
But it doesn't, because SimpleXml REQUIRES binary string.
I don't understand why and I don't like it either, but that's what we have.
Then I suggest to revert the change to the test and that we look at fixing the issue instead :)

I remember Rob mentioning something about utf8 in "unicode and xml extensions" 
@internals.


Sorry I took so long to answer this, but was playing around with some of the conversions to make sure I gave an accurate answer here.

The reason I had required them to be binary strings was to provide consistent encoding handling when working with in memory XML. Before even looking at the XML issues, consider the following line:

$xml = '<?xml version="1.0" encoding="ISO-8859-1"?><test>ΓΌ</test>';

I get PHP parse errors when my script_encoding is set to UTF-8. When set to iso-8859-1 it works fine. Making this a binary string works fine in both modes and now uses the encoding defined by the XML document itself (BOM or encoding defined in xml declaration - the way it really should be) making it portable to be passed to the XML load functions.

Rob

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to