ajax返回html乱码问题,备忘:解决ajax获取页面直接显示乱码的方法

本文讨论了在使用Ajax获取页面内容时可能出现的乱码问题,以及如何通过服务器端设置、客户端JavaScript编码转换和Firefox的特定解决方案进行处理。涉及的技术包括XMLHttpRequest、字符编码和浏览器兼容性。
摘要由CSDN通过智能技术生成

评论

# re: 备忘:解决ajax获取页面直接显示乱码的方法

2006-08-15 13:43

emu

其实只要服务器返回的数据头声明了

xmlhttp(request)控件应该就可以正确解码了。

编码可以参考一下:

http://www.blogjava.net/emu/articles/31283.html

http://www.blogjava.net/emu/articles/31756.html   回复  更多评论

# re: 备忘:解决ajax获取页面直接显示乱码的方法

2006-08-16 12:22

一农

@emu

1、楼主已经说了

“有些时候无法改变服务器端网页的编码(例如获取别的网站的天气预报信息),在这种时候就只能在客户端通过js做编码的工作了,”

2、这个方法在firefox应该不行,所以ajax的编码问题在浏览器里还是不能完全解决,只有等浏览器扩展,并且统一处理方法了。

execScript("gb2utf8_data = MidB(gb2utf8_data, 1)", "VBScript");   回复  更多评论

# re: 备忘:解决ajax获取页面直接显示乱码的方法

2006-08-16 19:52

BlueDavy

@一农

在firefox下非常简单,可以调用xmlhttprequest来强制使用GBK编码,这样xmlhttprequest在发起请求和接收响应时就不再采用UTF-8了:

xmlHttpRequest.overrideMimeType("text/html;charset= gbk");  回复  更多评论

# re: 备忘:解决ajax获取页面直接显示乱码的方法

2006-08-16 20:46

emu

@一农

1 “有些时候无法改变服务器端网页的编码(例如获取别的网站的天气预报信息),在这种时候就只能在客户端通过js做编码的工作了,”

这种情况下也无法通过客户端(浏览器)来做js编码(应为解码),因为有跨域限制,虽然网页可以用脚本设置document.domain,可是xmlhttp无法设置。如果用服务器程序建立http连接来获取这些第三方数据的话,也应该用后台服务器支持的解码方法而不是自己编码。

回复  更多评论

# re: 备忘:解决ajax获取页面直接显示乱码的方法

2006-08-16 20:48

emu

@BlueDavy

强!  回复  更多评论

# re: 备忘:解决ajax获取页面直接显示乱码的方法

2006-08-18 15:47

@asan

to:一农

能具体给我说一说怎么弄嘛,我遇到这个问题没解决出来,很是恼火哦!  回复  更多评论

# re: 备忘:解决ajax获取页面直接显示乱码的方法

2006-08-26 09:11

java人

请问你这段代码是在服务端跑还是在客户端跑?  回复  更多评论

# re: 备忘:解决ajax获取页面直接显示乱码的方法

2006-08-26 10:13

BlueDavy

...客户端js  回复  更多评论

# re: 备忘:解决ajax获取页面直接显示乱码的方法[未登录]

2007-05-20 20:25

无为

厉害,非常实用  回复  更多评论

# re: 备忘:解决ajax获取页面直接显示乱码的方法[未登录]

2007-06-08 21:21

哈哈

我是用js文件调用页面..我的页面在单独的情况下可以显示没有乱码...但是在用js调用时就出现乱码....是什么问题.....那位大侠帮帮我啊....  回复  更多评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值