[转] 让Json更懂中文(JSON_UNESCAPED_UNICODE)

这篇博客出自鸟哥博客,当时看到角色没什么用。后来自己做小工具时候特别方便。

记录一下

我们知道, 用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”\u***”的格式, 还会在一定程度上增加传输的数据量.

  1. <?php
  2. echo json_encode(“中文”);
  3. //”\u4e2d\u6587″

这就让我们这些在天朝做开发的同学, 很是头疼, 有的时候还不得不自己写json_encode.

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

看下面的例子:

  1. <?php
  2. echo json_encode(“中文”, JSON_UNESCAPED_UNICODE);
  3. //”中文”

怎么样, 是不是让大家很开心的改动? 呵呵, 当然, Json在5.4还加入了: JSON_BIGINT_AS_STRING, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES等选项, 如果有兴趣, 大家可以参看: json_encode

我的使用实例:

php端

<p class="p1">$data <span class="Apple-converted-space">  </span>= json_encode($arrRes, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT |JSON_UNESCAPED_SLASHES);</p>

前端

<style type="text/css">
textarea{ resize:none; width:800px; height:800px;}
</style>

<div align="center">
<textarea name="wang">
{%$data%}

发表评论

电子邮件地址不会被公开。 必填项已用*标注


*