[解决]在用AJAX进行异步请求(asp)的时候,出现了乱码问题。

来源:互联网 发布:推背图 知乎 编辑:程序博客网 时间:2024/05/22 05:20

在用AJAX进行异步请求的时候,出现了乱码问题。

服务端代码(asp)为:


 
服务端文件编码为gb2312


客户端请求代码(AJAX)为:


这个时候请求出现乱码

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
改成
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

乱码依旧

看了很多贴,都说这个问题是由于ajax的默认处理方式为utf-8,于是开始找修改AJAX的默认编码方式,找了一大通,结果发现AJAX本身就不能修改这个东东,迷茫了很久。无意中在服务端文件中加入了这么一行

 
 


  发现乱码问题解决了。(如果依然没有好,可以尝试关闭浏览器然后重新打开,客户端这边缓存相当严重,每测试一次都要重新打开浏览器)

而在此时,无论将客户端的charset 改成 gb2312、UTF-8 、ISO-8859-1都没有乱码问题。

从这里我得出如下结论:
1. Ajax的编码方式是根据服务端来改变的,只要显示的添加了发送内容的编码,ajax会自动适应该方式。
2. Ajax还能根据客户端设置的编码,自动将接收到的内容转换为相应编码格式


麻烦问下,这样的结论是否正确?