IT技术博客大学习 共学习 共进步

让Json更懂中文(JSON_UNESCAPED_UNICODE)

风雪之隅 2011-10-12 00:01:16 浏览 3,665 次

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

<?phpecho json_encode("中文"); //"\u4e2d\u6587"

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

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

看下面的例子:

<?phpecho json_encode("中文", JSON_UNESCAPED_UNICODE); //"中文"

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

不过, 还是要提醒下: PHP 5.4还处于开发阶段, 在最终release之前, 任何新特性都可能被调整或者更改. 如果大家有任何建议, 也欢迎反馈, 帮助我们使得PHP变得更好.

谢谢

建议继续学习

  1. JSON和JSONP的区别 (阅读 8,346)
  2. XML和JSON (阅读 7,605)
  3. 如何编写一个JSON解析器 (阅读 6,243)
  4. 理解JSON:3分钟课程 (阅读 5,666)
  5. 用 JavaScript 对 JSON 进行模式匹配 (Part 1 - 设计) (阅读 5,308)
  6. 用 JavaScript 对 JSON 进行模式匹配 (Part 2 - 实现) (阅读 4,584)
  7. 前端模板引擎 (阅读 4,483)
  8. Ajax和WEB服务数据格式:JSON JSONP (阅读 4,445)
  9. [python]定制JSON中的浮点数格式 (阅读 3,784)
  10. json_encode数组出现unicode \uxxxx的解决方案 (阅读 3,666)