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