可爱熊个人博客

Archive for 八月, 2018

PHP使用json_encode时不支持GB2312编码的解决方案

原文地址:http://www.cnblogs.com/caiyujiang/archive/2011/07/08/2101004.html

在 php 中使用 json_encode() 内置函数(php > 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它,这个函数的功能是将数值转换成json数据存储格式。

如下所示:

  1. $arr = array(‘Name’=>‘希亚’‘Age’=>20);
  2. $jsonencode = json_encode($arr);
  3. echo $jsonencode;

运行结果:

  1. {“Name”:null,“Age”:20}

json_encode 函数中中文被编码成 null 了,Google 了一下,很简单,为了与前端紧密结合,Json 只支持 utf-8 编码,我认为是前端的 Javascript 也是 utf-8 的原因。解决方案如下:

  1. $array = array
  2. (
  3.     ‘title’=>iconv(‘gb2312’,‘utf-8’,‘这里是中文标题’),
  4.     ‘body’=>‘abcd…’
  5. );
  6. echo json_encode($array);

Read More…