1. 概述
- 在使用php从数据库查询到数据后,想要将其转化成json格式输出,结果发现居然会乱码,乱码格式类似于:
{
"id":"1",
"kind":"game",
"title":"\u690d\u7269\u5927\u6218\u50f5\u5c382"
}
- 原先以为是数据库的原因,发现数据库所获得数据为标准UTF-8编码格式,后来发现原来是json_encode()方法的问题。
2.方法
- 在PHP5.4.0以上的版本中,json_encode()提供了JSON_UNESCAPED_UNICODE参数,使用该参数便可方便的解决该问题,代码示例如下:
$arr['name'] = 'Just泽航';
$arr['age'] = 22;
echo json_encode($arr,JSON_UNESCAPED_UNICODE);
输出结果为:
{"name":"Just泽航","age":22}
- 参数 JSON_UNESCAPED_UNICODE 指的是不要编码UNICODE的意思,使用该参数就可以编码出中文而不乱码咯!
参考资料
- 若还是没法解决问题,可以参考以下文章:
http://www.cnblogs.com/oldphper/p/4123415.html