请选择 进入手机版 | 继续访问电脑版

无忧编程_ASP.NET  / C# / PHP 程序员的软件世界

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 40|回复: 0

ajax+php $.post()中文乱码解决办法(utf-8 ---> gb2312)

[复制链接]

13

主题

14

帖子

87

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
87
发表于 2017-12-5 11:13:07 | 显示全部楼层 |阅读模式
ajax+php $.post()中文乱码解决办法(utf-8 ---> gb2312)
从前端页面到后端数据库我一共用到了三个文件,分别为:index.html、script.js、index.php。三个文件统一编码格式为GB2312,但是当inde.html页面的数据通过$.post()向index.php提交后,中文字符就会出现乱码。通过查找资料,了解到Ajax post时浏览器默认采用utf-8编码,页面编码统一为utf-8。也就是说,我gb2312的页面提交到php的中文字符被转成了utf-8格式,因此需要在php中再进行一次转码。
script.js 中$.post()部分代码:
[JavaScript] 纯文本查看 复制代码
$.post('index.php?a=insert',submitData,
    function(data) {
       if(data==1){
	 $(".black").show();
	 }
       if(data==2) {
	 alert("请重新提交!")
	 }
     },
"json")
index.php中对接收到的数据进行编码格式转换:
[PHP] 纯文本查看 复制代码
$data['name']=iconv("UTF-8","GB2312",$this->_post('name'));
$data['wish']=iconv("UTF-8","GB2312",$this->_post('wish'));
文章来源:http://blog.csdn.net/vera_xue/article/details/18809787

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软件编程 Inc.  

GMT+8, 2017-12-17 12:14 , Processed in 0.167277 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表