json_encode 函数中文被编码成 null的解决办法
程序员文章站
2022-05-06 14:14:56
...
’希亚’,‘Age’=>20);$jsonencode = json_encode($arr);echo $jsonencode;?>程序运行结果如下:
iconv(‘gb2312′,’utf-8′,’这里是中文标题’),‘body’=>’abcd…’);echo json_encode($array);?>这个程序的运行结果为:
{“title”:”\u8fd9\u91cc\u662f\u4e2d\u6587\u6807\u9898″,”body”:”abcd…”}
数 组中所有中文在json_encode之后都不见了或者出现\u2353等。解决方法是用urlencode()函数处理以下,在json_encode 之前,把所有数组内所有内容都用urlencode()处理一下,然用json_encode()转换成json字符串,最后再用urldecode() 将编码过的中文转回来。
1000) {die(‘possible deep recursion attack’);}foreach ($array as $key => $value) {if (is_array($value)) {arrayRecursive($array[$key], $function, $apply_to_keys_also);} else {$array[$key] = $function($value);}if ($apply_to_keys_also && is_string($key)) {$new_key = $function($key);if ($new_key != $key) {$array[$new_key] = $array[$key];unset($array[$key]);}}}$recursive_counter–;}/**************************************************************** 将数组转换为JSON字符串(兼容中文)* @param array $array 要转换的数组* @return string 转换得到的json字符串* @access public**************************************************************/function JSON($array) {arrayRecursive($array, ‘urlencode’, true);$json = json_encode($array);return urldecode($json);}$array = array(‘Name’=>’希亚’,‘Age’=>20);echo JSON($array);?>这次成功了,运行结果如下:
{“Name”:”希亚”,”Age”:”20″}
上一篇: Mint+Nginx+Mysql+php
下一篇: PHP实现插件机制中变量作用域的问题
推荐阅读
-
php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法
-
php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法
-
PHP中json_encode中文被Unicode编码的解决办法
-
json_encode 函数中文被编码成 null的解决办法
-
php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法,
-
php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法,
-
json_encode 函数中文被编码成 null的解决办法
-
PHP中json_encode中文被Unicode编码的解决办法
-
php json中文编码为null的解决办法
-
php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法_php技巧