芒果小站

  1. 全球最具业界良心的主机 - Linode

    毫无疑问,目前做得最好的主机供应商

    猛击这里查看

  2. 芒果小站目前使用的主机 - Linode

    客服响应快,随时退款,XEN 架构稳定

    猛击这里查看

  3. 最好的日本东京线路主机 - Linode

    可选弗里蒙特、达拉斯、亚特兰大、纽瓦克、伦敦、东京机房

    猛击这里查看

  • 1
  • 2
  • 3
切换到精简模式
6

不转义中文字符的 json 编码方法

作者 芒果/分类 代码/发布于 2012-08-08 15:13

虽说最新的 PHP 5.4 已经良好支持 JSON 中文编码,即通过 JSON_UNESCAPED_UNICODE 参数,例如:

json_encode("中文", JSON_UNESCAPED_UNICODE)

对于早前 PHP 版本,处理不转义中文字符的 json 编码,之前写过 PHP 输出中文 JSON 字符串这篇文章,这里分享个更完美的方法:

	/**
	 * 不转义中文字符的 json 编码方法
	 * @param array $arr 待编码数组
	 * @return string
	 */
	function encode ($arr) {

		$str = json_encode($arr);
		$search = "#\\\u([0-9a-f]+)#ie";
		$replace = "iconv('UCS-2', 'UTF-8', pack('H4', '\\1'))";

		return preg_replace($search, $replace, $str);

	}

参考资料:http://www.laruence.com/2011/10/10/2239.html

版权所有,转载请注明出处。
转载自 <a href="http://mangguo.org/json-encoding-method-not-escaped-chinese-characters/" title="不转义中文字符的 json 编码方法" rel="bookmark">不转义中文字符的 json 编码方法 | 芒果小站</a>
如果喜欢这篇文章,欢迎订阅芒果小站以获得最新内容。

已经有 6 条群众意见

  1. 向日葵媒体设计 /2012-08-10 09:52

    学习了,继续 回应

    #1
  2. 济南搬家公司 /2012-08-10 13:31

    博主做的这个博客很专业..能和博主换个链接么?我的站:济南搬家公司www.bjhxrjn.com 回应

    #2
  3. seo /2012-08-14 15:48

    博主,我们能交换个友情链接? 回应

    #3
  4. 上上签 /2012-08-24 09:11

    留言的头像怎么弄的呢? 回应

    #4
  5. ?
    不转义中文字符的 json 编码方法 | wordpress主题下载|wordpress教程|wordpress 插件| wordpress主机 /2012-08-29 15:48

    […] © 2010 芒果小站 | 固定链接 | 4 条评论 | 标签 JSON, json_encode, JSON_UNESCAPED_UNICODE, PHP 芒果小站No related posts. […] 回应

    #5
  6. ?
    php输出中文json时禁止转义的方法(及BOM签名的注意点) | 苹果梨的博客 /2013-03-22 15:07

    […] 参考文章:《PHP 输出中文 JSON 字符串》,《不转义中文字符的 json 编码方法》 […] 回应

    #6

下面我简单说几句