码迷,mamicode.com
首页 > Web开发 > 详细

PHP - json_encode中文乱码

时间:2016-05-26 22:13:15      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:justify   中文   style   

调用json_encode()函数将JSON对象转换为字符串, 如果其中包含有中文,默认会输出为unicode编码,如\u8023

解决方案1

升级到PHP 5.4,在json_encode()函数中,第二个参数指定JSON_UNESCAPED_UNICODE即可。

解决方案2

对于低版本PHP,对unicode码再进行解码,解码函数如下:

function decodeUnicode($str)

{

    return preg_replace_callback(‘/\\\\u([0-9a-f]{4})/i‘,

        create_function(

            ‘$matches‘,

            ‘return mb_convert_encoding(pack("H*", $matches[1]), "UTF-8", "UCS-2BE");‘

        ),

        $str);

}

 

例子如下:

$arr = array(‘name1‘:"中文",‘name2‘:‘abc12‘);

$jsonstr = decodeUnicode(json_encode($arr));

PHP - json_encode中文乱码

标签:justify   中文   style   

原文地址:http://lancelot.blog.51cto.com/393579/1783626

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!