php json中文转码如何解决

  介绍

本篇文章给大家分享的是有关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中文转码如何解决