How does PHP generate JSON without unioncode encoding conversion? For example, in json, $ a [& #039; name & #039; & amp; gt; & #039; Zhang San & #039 ;, & #039; age & #039; & amp; gt; 20]; after json_encode & #039; Zhang San & #039; will become & #039; u97asfddd & #039; how can we enable this encoding? How does PHP generate JSON without unioncode encoding conversion?
For example, in json, $ a = ['name' => 'zhang san', 'age' => 20]; after json_encode, 'zhang san' will become
'/U97asfddd/': how can we replace 'zhangsan' with '/u?
Reply content:
How does PHP generate JSON without unioncode encoding conversion?
For example, in json, $ a = ['name' => 'zhang san', 'age' => 20]; after json_encode, 'zhang san' will become
'/U97asfddd/': how can we replace 'zhangsan' with '/u?
JSON_UNESCAPED_UNICODE can be used only in php5.4 or later versions.
PHP
function json_encode_wrapper ($result){ if(defined('JSON_UNESCAPED_UNICODE')){ return json_encode($result,JSON_UNESCAPED_UNICODE|JSON_NUMERIC_CHECK); }else { return preg_replace( array("#\\\u([0-9a-f][0-9a-f][0-9a-f][0-9a-f])#ie", "/\"(\d+)\"/",), array("iconv('UCS-2', 'UTF-8', pack('H4', '\\1'))", "\\1"), json_encode($result) ); }}
Http://php.net/json_encode
echo json_encode($arr, JSON_UNESCAPED_UNICODE);