Bug #28640 [Com]: problem with umlaut in wddx_deserialize
| From: | lulacox1973 at gmail dot com | Date: | Sat, 09 Jan 2021 10:32:52 +0000 |
| Subject: | Bug #28640 [Com]: problem with umlaut in wddx_deserialize | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-231459@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=28640&edit=1
ID: 28640
Comment by: lulacox1973 at gmail dot com
Reported by: clemens at gutweiler dot net
Summary: problem with umlaut in wddx_deserialize
Status: Not a bug
Type: Bug
Package: WDDX related
Operating System: Linux 2.6.3
PHP Version: 5.0.0RC2
Block user comment: N
Private report: N
New Comment:
We have been using this for several weeks now and it seems to be going nicely.
Previous Comments:
------------------------------------------------------------------------
[2004-12-07 08:35:42] tony2001@php.net
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to
report
a bug at http://bugs.php.net/how-to-report.php
You have to convert your data to UTF8 if it contains non-ASCII characters. The documentation was
wrong about setlocale() and this is alrady fixed.
------------------------------------------------------------------------
[2004-06-18 14:36:08] clemens at gutweiler dot net
<?php
var_dump( wddx_deserialize( '<?xml version="1.0" encoding="ISO-8859-1"
?>'."\n".wddx_serialize_value( 'te?st' ) ) );
?>
this works.
it works also if the data are encoded with utf-8.
but is a bc break!
------------------------------------------------------------------------
[2004-06-05 10:50:18] clemens at gutweiler dot net
Description:
------------
wddx_deserialize stops deserializing at german umlaut character.
PHP Version: 5.0.0RC3RC2
This code works properly on PHP 4
Reproduce code:
---------------
<?php
$wddx_data = 'test';
var_dump( wddx_deserialize( wddx_serialize_value( $wddx_data ) ) );
$wddx_data = 'te?st';
var_dump( wddx_serialize_value( $wddx_data ) );
var_dump( wddx_deserialize( wddx_serialize_value( $wddx_data ) ) );
$wddx_data = array( 'string' => 'te?st' );
var_dump( wddx_deserialize( wddx_serialize_value( $wddx_data ) ) );
?>
Expected result:
----------------
string(4) "test"
string(83) "<wddxPacket
version='1.0'><header/><data><string>te?st</string></data></wddxPacket>"
string(5) "te?st"
array(1) {
["string"]=>
string(5) "te?st"
}
Actual result:
--------------
string(4) "test"
string(83) "<wddxPacket
version='1.0'><header/><data><string>te?st</string></data></wddxPacket>"
string(2) "te"
NULL
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=28640&edit=1