PHP - json_encode中文乱码

简介:

调用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));






本文转自 tywali 51CTO博客,原文链接:http://blog.51cto.com/lancelot/1783626,如需转载请自行联系原作者
目录
相关文章
|
4月前
|
JSON PHP 数据格式
|
2月前
|
JSON JavaScript PHP
PHP把unicode编码的json字符串转中文
PHP把unicode编码的json字符串转中文
14 0
|
4月前
|
JSON PHP 数据格式
|
4月前
|
JSON PHP 数据格式
php 删掉空的数组 json数据. 空数据(false 0 ““ null)
php 删掉空的数组 json数据. 空数据(false 0 ““ null)
php 删掉空的数组 json数据. 空数据(false 0 ““ null)
|
4月前
|
JSON PHP 数据格式
php对‘[{“id“:“1“,“name“:“cyg”},{“id“:“2“,“name“:“liwen“}]json数据进行修改删除操作
php对‘[{“id“:“1“,“name“:“cyg”},{“id“:“2“,“name“:“liwen“}]json数据进行修改删除操作
php对‘[{“id“:“1“,“name“:“cyg”},{“id“:“2“,“name“:“liwen“}]json数据进行修改删除操作
|
10月前
|
XML JSON PHP
PHP快速入门08-JSON与XML处理
PHP快速入门与实战JSON与XML都是用于在不同的应用程序之间传输数据的格式化语言。在PHP中,可以使用内置函数处理JSON和XML格式的数据。以上就是关于本篇文章介绍的内容,JSON与XML处理,后续更多内容将收录在专栏PHP快速入门与实战。
|
10月前
|
存储 JSON PHP
在 PHP 中从 URL 获取 JSON 对象
在 PHP 中从 URL 获取 JSON 对象
|
10月前
|
SQL JSON API
PHP读取数据库记录转换为JSON的代码(API接口的SQL语句)
PHP读取数据库记录转换为JSON的代码(API接口的SQL语句)
87 0
|
5月前
|
JSON 前端开发 PHP
dataType:'json'时post,总是调用error???附带php和json的一些坑
ajax是一个不错的东西 当dataType:'json'时提交,总是返回error 这是为什么? 经过折腾,终于发现因为要求的是json,返回的信息并不是json格式,因此总是出错
36 0