让Json更懂中文(JSON_UNESCAPED_UNICODE)

  • 作者: Laruence( )
  • 本文地址: http://www.laruence.com/2011/10/10/2239.html
  • 转载请注明出处

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

<?php
echo json_encode("中文");

//"\u4e2d\u6587"

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

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

看下面的例子:

<?php
echo 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变得更好.

谢谢

更多更新信息, 请关注: Changelog

Comments

  • 2011/10/10, jackywdx writes: 喔,这个特性很爽啊。
  • 2011/10/11, jeffliu writes: 超爱这个。 json_encode编码中文非常的恶心。 json_encode也会把大值int使用科学计数法表示 恶心死。
  • 2011/10/11, istrone writes: 对了,PHP好像还有一个bug,就是ip2long的返回值有时候会出现负数。
  • 2011/10/11, jueying writes: 不错,很实用!持续关注中!
  • 2011/10/11, darasion writes: 我不觉得这个特性好。虽然一时看着爽,接踵而来的编码问题将会产生广泛而深入的影响。

Related posts:

  • JsonSerializable接口
Copyright © 2010 风雪之隅 版权所有, 转载务必注明. 该Feed只供个人使用, 禁止未注明的转载或商业应用. 非法应用的, 一切法律后果自负. 如有问题, 可发E-mail至my at laruence.com.(Digital Fingerprint: 73540ba0a1738d7d07d4b6038d5615e2)

Random Posts:

  • 一个误区(关于javascript的字符串拼接)
  • var_export 与 var_dump的不同
  • Firefox DNS Cache 清除 扩展 V0.1
  • 深入理解PHP原理之变量作用域(Scope in PHP)
  • Zend Parameters Parser新增类型描述符介绍
  • PHP CLI模式下的多进程应用
  • Apache Access Log中的Options的含义
  • 使用PHP Embed SAPI实现Opcodes查看器
  • 深入浅出PHP(Exploring PHP)
  • 深入理解PHP原理之变量生命期(一)

你可能感兴趣的:(中文,json_encode,PHP应用)