ID: 46496 User updated by: mark at hell dot ne dot jp -Summary: wddx_serialize_value() treats input as ISO-8859-1 Reported By: mark at hell dot ne dot jp Status: Bogus Bug Type: WDDX related Operating System: Linux PHP Version: 5.2.6 New Comment:
Here's a patch against PHP 5.2.7rc2 to fix this issue. The real problem is about WDDX always considering input is ISO-8859-1. This is not consistent with PHP <5.2.5, not consistent with the XML api, and not consistent with the documentation. http://ookoo.org/svn/snip/php-5.2.7rc2_wddx_utf8_resolved.patch Previous Comments: ------------------------------------------------------------------------ [2008-11-06 04:54:54] mark at hell dot ne dot jp Tested and reproduced with PHP 5.2.7rc2 ------------------------------------------------------------------------ [2008-11-06 04:36:12] mark at hell dot ne dot jp Hello, I'd like this bug to be reopened. The &#xxx; are due to the PHP's bugtracker unability to display unicode characters. My report was initially written with korean string. Here's a screenshot of an UTF-8 terminal with the same test: http://beta.magicaltux.net/php5_bug_utf8_terminal.png ------------------------------------------------------------------------ [2008-11-06 01:14:25] [EMAIL PROTECTED] http://fi.php.net/manual/en/wddx.examples.php "Note: If you want to serialize non-ASCII characters you have to convert your data to UTF-8 first" ------------------------------------------------------------------------ [2008-11-05 17:30:47] mark at hell dot ne dot jp Description: ------------ As written on the page on : http://fr.php.net/manual/en/ref.wddx.php wddx_serialize_value() always treats input as ISO-8859-1. This behaviour has changed in PHP 5.2.5, and has caused a few bugs on our side (and it seems we are not the only ones). For now the workaround is to use utf8_decode() on the resulting XML string. Reproduce code: --------------- <?php header("Content-Type: text/xml;encoding=utf-8"); echo wddx_serialize_value("안녕 하세요"); ?> Expected result: ---------------- <wddxPacket version='1.0'><header/><data><string>안녕 하세요</string></data></wddxPacket> Actual result: -------------- <wddxPacket version='1.0'><header/><data><string>안녕 하세요</string></data></wddxPacket> ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=46496&edit=1