ID: 40235 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] -Status: Open +Status: Feedback Bug Type: Variables related Operating System: Gentoo Linux PHP Version: 5.2.1RC3 New Comment:
Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://snaps.php.net/win32/php5.2-win32-latest.zip Previous Comments: ------------------------------------------------------------------------ [2007-01-25 12:34:31] [EMAIL PROTECTED] Description: ------------ If locale is set to de_DE serialized arrays and objects with floats somewhere cannot be unserialized. Reproduce code: --------------- <?php error_reporting(E_ALL); ini_set('display_errors', 1); echo 'Setting locale to ' . setlocale(LC_ALL, 'de_DE') . "\n"; // Remove this to make it work $array = array('myval' => 1.2345); echo 'Serializing '; var_export($array); echo "\n"; $serialized = serialize($array); echo 'Got: ' . $serialized . "\n"; echo "Unserializing.\n"; $unserialized = unserialize($serialized); echo 'Got: ' . var_export($unserialized, true) . "\n"; echo 'This should be true: ' . var_export(($unserialized === $array), true) . "\n"; ?> Expected result: ---------------- $ php locale_serialize.php Serializing array ( 'myval' => 1.2345, ) Got: a:1:{s:5:"myval";d:1.2344999999999999307220832633902318775653839111328125;} Unserializing. Got: array ( 'myval' => 1.2345, ) This should be true: true Actual result: -------------- $ php locale_serialize.php Setting locale to de_DE Serializing array ( 'myval' => 1,2345, ) Got: a:1:{s:5:"myval";d:1,2344999999999999307220832633902318775653839111328125;} Unserializing. Notice: unserialize(): Error at offset 17 of 75 bytes in /var/www/alan-live/htdoc/test/locale_serialize.php on line 16 Got: false This should be true: false ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=40235&edit=1