AJAX在ResponseText后出现乱码的解决方法
来源:互联网 发布:黑龙江网络广播电视 编辑:程序博客网 时间:2024/05/21 17:53
AJAX在ResponseText后出现乱码的解决方法
在做DHTML培训课程作业中的AJAX实现时,遇到了上面标题处的问题,一开始琢磨了好久,也尝试了不少的方法,但问题仍然没有解决,在网上搜到的答案都是类似的修改AJAX发送请求的编码格式,
下面为援引的一段话:
“用AJAX来GET回一个页面时,RESPONSETEXT里面的中文多半会出现乱码,这是因为xmlhttp在处理返回的responseText的时候,是把resposeBody按UTF-8编码进解码考形成的,如果服务器送出的确实是UTF-8的数据流的时候汉字会正确显示,而送出了GBK编码流的时候就乱了。解决的办法就是在送出的流里面加一个HEADER,指明送出的是什么编码流,这样XMLHTTP就不会错乱。”
上面提到的HEADER处理,我通过以下方式来设置:
xmlHTTP.setRequestHeader("Content-Type","text/html;charset=gb2312");在尝试了此方法后,问题依然,此后也尝试了使用escape和unescape方法来进行编码,效果不是很理想。
后来给Ken Woo发邮件咨询,得到了比较全面的答复,在此表示感谢!
援引如下:
“编码问题涉及三个方面:
1, Server端的文件保存使用的编码;
2, IIS使用的HTTP请求和返回的文本编码;
3, 浏览器显示的时候使用的编码。
1,在VS.net开发环境中打开文件,菜单中选择:文件->高级保存选项->编码可以看到文件的编码;
2,如果是使用VS.net管理Web项目,则在web.config中有:<globalization requestEncoding="utf-8" responseEncoding="utf-8" />
3,在客户端的IE中,鼠标右键,选择编码,可以切换客户端用于显示的编码。
如果三者对应不上,可能就会发生乱码问题。可以看看这里是怎么解决的:
http://blog.haha168.com/blogview.asp?logID=108,虽然不是使用JS但是原理是一样的,使用“adodb.stream””
我是通过一下方法解决的:
首先,打开要xmlHTTP的对象,然后按照上面的第1种方法(首先切换页面到HTML代码编辑模式,反之无法找到对应的高级保存选项),然后选择UTF-8(无签名)编码方式,
保存后即可,前提是要保持上面的一直性。
如果大家有遇到类似问题,希望可以在这里找到答案!
- AJAX在ResponseText后出现乱码的解决方法
- AJAX在ResponseText后出现乱码的解决方法
- ajax+php的responseText出现中文乱码
- 关于ajax的responseText乱码的问题
- AJAX responseText乱码解决
- 关于在AJAX中GET回的ResponseText中文乱码的最简解决办法
- ajax出现乱码的一种解决方法
- Ajax $.ajax() 提交数据出现中文乱码的时候解决方法
- 在使用jquery的ajax功能时,往后台传值会出现乱码 解决方法
- AJAX中关于responseText乱码问题
- ajax的responseXML与responseText
- ajax的responseText是什么东西
- URL编码:在地栏直接输入参数带汉字的URL后,服务器端接收后出现乱码的解决方法
- php使用json_encode后出现中文乱码的解决方法
- Ajax多次取数据后出现乱码
- 如何解决XmlHttp.responseText的乱码问题
- AJAX在post中文时乱码的解决方法
- Jquery的ajax在IE提交数据乱码解决方法
- 提升jsp性能
- Java时间格式转换
- 怎样成为优秀的软件模型设计者
- gridview 自定义分页
- I2S标准
- AJAX在ResponseText后出现乱码的解决方法
- 绘制整洁的UML图 明晰才能被人采纳
- ajax资料收集-Ajax文章(教程和实例)---Ajax资源下载(源码和教程)---Ajax规范标准
- prototype.js常用函数及其用法
- Java开发为什么需要UML的理由
- 交叉线的制作
- 工作流模型分析---聚合模型
- 一个简单的冒泡排序和快速排序算法java实现
- 诺顿误杀百万电脑 尚未作赔偿声明