网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

PHPAjaxJSON中文乱码各种问题解决办法

1、GBK/GB2312通过php的json_encode函数汉字会输出null

//gbk编码
$gbk = '中文';
echo json_encode($gbk);//null

原因:因为json_encode只支持utf-8的编码,对于英文没有什么影响,但是对于中文就会有问题了。
解决办法:

成都创新互联公司是一家专业提供阳西企业网站建设,专注与成都网站设计、成都网站制作、H5页面制作、小程序制作等业务。10年已为阳西众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。

 $gbk = urlencode('中文');
 echo urldecode(json_encode($gbk));//中文

并不是非得用urlencode编码,也可以用别的编码,例如base64_encode等等,大家可以多尝试一下

2、ajax调用后端gbk编码接口会出现乱码

原因:因为Ajax返回的数据默认的字符编码是utf-8

解决办法:  在后端,如php加上

header('Content-Type:text/html;charset=utf-8');//如果是json最好用Content-Type: application/json或text/plain

3、utf8编码的json_encode也会被编码,变成不可读的, 类似”\u***”的格式,Ajax调用也同样的问题
原因:json_encode对中文支持不好

解决办法:(1)可以参考第一种方法;(2)从PHP5.4开始,在json_encode中有了第二个参数,可以通过传入JSON_UNESCAPED_UNICODE解决,例如

echo json_encode('中文',JSON_UNESCAPED_UNICODE);//中文

推荐:采用UTF8编码,php尽量升级到5.4以上的版本

PS:如果有任何问题,欢迎提出


新闻标题:PHPAjaxJSON中文乱码各种问题解决办法
链接地址:http://bjjierui.cn/article/jcigip.html

其他资讯