这篇文章主要介绍了基于php解决json_encode中文UNICODE转码问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”\u*”的格式,如果想汉字不进行转码,这里提供三种方法

1.升级PHP,在PHP5.4, 这个问题终于得以解决, Json新增了一个选项: JSON_UNESCAPED_UNICODE, 故名思议, 就是说, Json不要编码Unicode.

<?php
echo json_encode(“中文”, JSON_UNESCAPED_UNICODE);
//“中文”
2.把汉字先urlencode然后再使用json_encode,json_encode之后再次使用urldecode来解码,这样编码出来的json数组中的汉字就不会出现unicode编码了。

$array = array(
‘test’=>urlencode(“我是测试”)
);
$array = json_encode($array);
echo urldecode($array);
//{“test”:”我是测试”}
3.对unicode码再进行解码,解码函数如下:

  1. function decodeUnicode($str)
  2. {
  3. return preg_replace_callback('/\\\\u([0-9a-f]{4})/i',
  4. create_function(
  5. '$matches',
  6. 'return mb_convert_encoding(pack("H*", $matches[1]), "UTF-8", "UCS-2BE");'
  7. ),
  8. $str);
  9. }

4.例子
$arr = array(‘name1’:”中文”,’name2’:’abc12’);
$jsonstr = decodeUnicode(json_encode($arr));

更多相关文章

  1. Android中文API(96)——SoundEffectConstants
  2. Android(安卓)中文 SDK (49) ―― Filter.FilterResults
  3. Android中文API (39) —— AbsSpinner
  4. Android中TextToSpeech的简单使用
  5. IT网站收藏
  6. IT网站收藏
  7. java使用Base64编码实例
  8. Java中的base64编码器
  9. android 中文 api (64) —— Scroller

随机推荐

  1. Linux生成随机字符串
  2. 在VNC远程桌面环境Xfce4中Tab键失效的解
  3. Linux防火墙配置
  4. Shell脚本编写简明教程
  5. 手把手教你在ubuntu下创建桌面快捷方式
  6. 在Linux里设置用户环境变量的方法
  7. 来点基础的--诡异的极客们的符号--流、管
  8. Linux Box上运行哪个SQL服务器?
  9. linux中创建公私钥
  10. 报告节选3:Linux比例近半 操作系统混战虚