ID: 36775 User updated by: ez at daoldskool dot org Reported By: ez at daoldskool dot org Status: Open Bug Type: Feature/Change Request Operating System: OSX Tiger 10.4.5 PHP Version: 5.1.2 New Comment:
hey, don't be too fast dude ! here is the code, assuming my terminal is unicode compatible (OS X Tiger 10.4.5); ezmac:/src/php-src/sapi/cli root# ./php -a Interactive mode enabled <?php $wddx = file_get_contents('wddx_utf8.xml'); echo $wddx; <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <wddxPacket version='1.0'><header/><data><string>éèôoûî</ string></data></wddxPacket> echo wddx_deserialize($wddx); ???o?? echo wddx_deserialize(utf8_encode($wddx)); éèôoûî as you see when wddx_deserialize($wddx), i am expecting éèôoûî but i got ???o?? i have to rencode the document - i repeat myself, the docuement is already utf8 - a second time to get the expected result : wddx_deserialize(utf8_encode($wddx)) are you convinced now ? this is NOT a feature request for a future release this a BUG submission because you should not force the encoding to iso-8859-1 with the parser Previous Comments: ------------------------------------------------------------------------ [2006-03-18 22:19:07] [EMAIL PROTECTED] Reclassified as feature request. ------------------------------------------------------------------------ [2006-03-18 22:17:27] [EMAIL PROTECTED] I don't need a "proof", I need short and complete reproduce code with expected and actual results. >what php_wddx_deserialize_ex if not an instance of the EXPAT >parser : line 1140 parser = XML_ParserCreate("ISO-8859-1") See ext/xml/compat.c, line 379. ------------------------------------------------------------------------ [2006-03-18 22:09:58] ez at daoldskool dot org Ok tony, my mistake about EXPAT, i've been confused, please accept my apology but the problem is till there : why instanciate the parser with forcing the document encoding to ISO-8859-1 ? isn't the parser able to detect the document encoding ? ------------------------------------------------------------------------ [2006-03-18 22:00:54] ez at daoldskool dot org once again the proof is live, here : http://peoplemode.daoldskool.org:88/__dev/test/ test_NATIVE.php and the source is here : http://peoplemode.daoldskool.org:88/__dev/test/ test_NATIVE.php.s PLUS you have it described here : http://de2.php.net/manual/en/function.wddx-deserialize.php and stop fooling me, i've been into the code : PHP_FUNCTION(wddx_deserialize) is a wrapper for int php_wddx_deserialize_ex(char *value, int vallen, zval *return_value) what php_wddx_deserialize_ex if not an instance of the EXPAT parser : line 1140 parser = XML_ParserCreate("ISO-8859-1") are you really the author of these lines ? thanx ------------------------------------------------------------------------ [2006-03-18 21:31:16] [EMAIL PROTECTED] >if you don't want the wddx_deserializer to mess with an >utf8 encoded docuemnt, you have to pass it utf8 encoded Okay. Show me. >the bug has been already reported several times and is still open No, it's not. It's closed as bogus. >and YES wddx functions ARE using EXPAT : >from the 5.1.2 release sources : >ext/wddx.c, line 25 : >#include "ext/xml/expat_compat.h" Huh? Did you try to look into this file? It's included *exactly* because libxml is used everywhere instead of expat. Please, give me short and complete reproduce code with expected and actual results, and enough talking about what's crazy and what's not. That's all I want to get from you. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/36775 -- Edit this bug report at http://bugs.php.net/?id=36775&edit=1