加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php中json_encode处理gbk与gb2312中文乱码问题的解决方法

发布时间:2020-12-12 20:17:46 所属栏目:PHP教程 来源:网络整理
导读:本文讲述了php中json_encode处理gbk与gb2312中文乱码问题的解决方法,具体方法如下: 1.json_encode()中文在gbk/gb2312中对中文返回为null '4','catname' => 'www.jb51.cc','meta_title' => '编程之家' )); echo json_encode($arr); 运行结果: 看一了吗"met

本文讲述了php中json_encode处理gbk与gb2312中文乱码问题的解决方法,具体方法如下:

1.json_encode()中文在gbk/gb2312中对中文返回为null

'4','catname' => 'www.52php.cn','meta_title' => '编程之家' ) );

echo json_encode($arr);

运行结果:

  看一了吗"meta_title":null 他本来是有一个值的为"编程之家"了,这个我们查了一下原理是json_encode只支持uft-8编码,我们转换一下

2.后台PHP页面(页面编码为UTF-8或者已经把字符转为UTF-8)使用json_encode将PHP中的array数组转为JSON字符串。例如:

'中文字符串','value'=>'test'); echo json_encode($testJSON); ?>

查看输出结果为:

  可见即使用UTF8编码的字符,使用json_encode也出现了中文乱码。解决办法是在使用json_encode之前把字符用函数urlencode()处理一下,然后再json_encode,输出结果的时候再用函数urldecode()转回来。具体如下:

'中文字符串','value'=>'test'); //echo json_encode($testJSON); foreach ( $testJSON as $key => $value ) { $testJSON[$key] = urlencode ( $value ); } echo urldecode ( json_encode ( $testJSON ) ); ?>

查看输出结果为:

  总结:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读