介绍
本篇文章给大家分享的是有关php json中文转码如何解决,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
php json中文转码的解决办法:1、升级php; 2、使用“urlencode”函数对汉字进行处理,再使用“json_encode”函数进行编码;3、对unicode码再进行解码。
引用><强> php解决json_encode中文unicode转码问题强>
用php的json_encode来处理中文的时候,中文都会被编码,变成不可读的,类似“\ u * * *”的格式,如果想汉字不进行转码,这里提供三种方法
1。升级php,在PHP5.4,这个问题终于得以解决,json新增了一个选项:JSON_UNESCAPED_UNICODE,故名思议,就是说,json不要编码unicode。
$数组=阵列( & # 39;测试# 39;=祝辞urlencode(“我是测试“) ); 美元$数组=json_encode(数组); 回声urldecode数组($);//{“test":“我是测试“}
3。对unicode码再进行解码,解码函数如下:
函数decodeUnicode (str)美元 { 返回preg_replace_callback (& # 39;/\ \ \ \ u ([0-9a-f]{4})/我,, create_function ( & # 39;$匹配# 39; & # 39;返回mb_convert_encoding(包(“H *“, $ matches [1]),“UTF-8",“UCS-2BE"); & # 39; ), str美元); }4。例子
$ arr=数组(& # 39;name1& # 39;:“中文“,& # 39;name2& # 39;: & # 39; abc12& # 39;); $ jsonstr=decodeUnicode (json_encode (arr)美元);php json中文转码如何解决