芒果小站

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

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

    猛击这里查看

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

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

    猛击这里查看

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

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

    猛击这里查看

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

PHP 输出中文 JSON 字符串

作者 芒果/分类 代码/发布于 2011-09-26 11:46

PHP 和 JavaScript 交互其实很方便,PHP 原生也提供了对 JSON 格式的支持。主要包括 JSON 编码和解码两个函数:

json_endoce: http://cn.php.net/json_encode
json_dedoce: http://cn.php.net/json_decode

json_encode — 对变量进行 JSON 编码,并返回 value 值的 JSON 形式,例如:

<?php
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
echo json_encode($arr);
?>

以上代码执行后输出:

{"a":1,"b":2,"c":3,"d":4,"e":5}

假如要编码的数据源(一般是一个数组),value 中包含中文,经过 json_encode 处理后输出的是 unicode 编码。

<?php
$arr = array ('a'=>'芒果小站');
echo json_encode($arr);
?>

以上代码执行后输出:

{"a":"\u8292\u679C\u5C0F\u7AD9"}

PHP 底层已经做了 unicode 处理,如果嫌它不够直观,可以利用 urlencodeurldecode 方法绕过这个转码为 unicode 的过程:

$arr = array ('a'=>urlencode('芒果小站'));
echo urldecode(json_encode($arr));

以上代码执行后输出:

{"a":"芒果小站"}
版权所有,转载请注明出处。
转载自 <a href="http://mangguo.org/php-json-output-string-chinese/" title="PHP 输出中文 JSON 字符串" rel="bookmark">PHP 输出中文 JSON 字符串 | 芒果小站</a>
如果喜欢这篇文章,欢迎订阅芒果小站以获得最新内容。

已经有 11 条群众意见

  1. 时尚连衣裙 /2011-09-26 13:57

    这个强大! 回应

    #1
  2. 蜂蜜批发 /2011-09-26 13:58

    学习了。很精简的代码。 回应

    #2
  3. Iecho /2011-09-30 16:23

    学习中~~~ 回应

    #3
  4. 河北seo /2011-10-03 16:21

    学习了! 回应

    #4
  5. 减肥药排行榜 /2011-10-09 20:22

    这个代码不知道怎么用啊! 回应

    #5
  6. 清晰网 /2011-12-26 19:44

    这个对我很有用的说! 回应

    #6
  7. ?
    不转义中文字符的 json 编码方法 | 吃货的美好时代!搜集美食、旅游、娱乐、时尚与吃货们分享 /2012-08-16 17:10

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

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

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

    #8
  9. lobtao /2012-12-22 10:08

    如果这样的,处理后的字符串肯定要比xml尺寸要大很多。 回应

    #9
  10. ?
    解决PHP JSON 中文乱码的问题 | IT档案馆 /2013-01-29 17:48

    […] PHP 输出中文 JSON 字符串 […] 回应

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

    […] 《PHP 输出中文 JSON 字符串》:http://www.mangguo.org/php-json-output-string-chinese/ […] 回应

    #11

下面我简单说几句