今天在做一个AJAX效果的时候遇到一个问题,前台输入的中文传入PHP文件后乱码,弄了一下午才好。现在把解决办法写下来 。。。
AJAX的乱码的出现在的原因
由于XMLHTTP采用的是Unicode编码上传数据,而一般页面采用的是gb2312,这就造成显示页面时产生乱码。而当在获取页面时的XMLHttp返回的是utf-8编码,这就造成了显示产生乱码。
解决方法之一就是在PHP文件中显示声明为GB2312
header("Content-Type:text/html;charset=GB2312");
而对于发送到服务器的中文进行转码。
如下
$_POST["queryString"]=iconv("UTF-8","gb2312",$_POST["queryString"]);
因而这样可以解决乱码问题
方法二,是都采用UTF-8编码。这里就不多说了