ID: 49588 Updated by: scott...@php.net Reported By: fernando at consultorpc dot com Status: Bogus Bug Type: JSON related Operating System: Linux/Mac OSX Leopard PHP Version: 5.3.0 New Comment:
It only appears of display_errors is on though with 5.3.1+ you can also detect it by looking at json_last_error() Previous Comments: ------------------------------------------------------------------------ [2009-09-18 12:54:42] j...@php.net PHP Warning: json_encode(): Invalid UTF-8 sequence in argument in Command line code on line 1 ------------------------------------------------------------------------ [2009-09-18 12:36:22] fernando at consultorpc dot com Description: ------------ At my specific case, if a string contains an Euro symbol ( ), json_encode will return null for that string. It might also happens with other special characters. Reproduce code: --------------- <?php $array = array( 'name' => htmlentities( 'My euro symbol .' ) ); var_dump( $array ); var_dump( json_encode( $array ) ); Expected result: ---------------- array(1) { ["name"]=> string(29) "My euro symbol €." } string(13) "{"name":"My euro symbol €."}" Actual result: -------------- array(1) { ["name"]=> string(29) "My euro symbol â?¬." } string(13) "{"name":null}" ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=49588&edit=1