js xmlhttp responseText 缓存 乱码问题

来源:百度知道 编辑:UC知道 时间:2024/06/23 21:05:11
首先我的代码是没错的.兼容各个浏览器,并且没有乱码.
但是在个别电脑上会出现乱码.
第一次访问是正常,然后刷新就乱码.
我想是因为刷新的时候浏览器没访问服务器,而是访问了浏览器缓存导致的
但我又必须让它缓存,为了减轻用户的网络负担
所以不知道大家有没好的解决办法,能解决问题我给100分

奇怪的是当刷新的时候,就是代码运行的时候,对responseText我是经过截取处理的,但是运行却没出错,显示就乱码.

我尝试过
Http.setRequestHeader("Charset","gb2312");
Http.setRequestHeader("Content-Type","text/html");
没效果
Http.responseBody 火狐不兼容所以放弃

不知道我有没讲明白..先谢谢热心的朋友..
回一楼
JS是在客户端运行的.adodb.stream是建立不了的.
另外responseBody 火狐不兼容 这是行不通的,也就是没有转编码的问题
另外无法改变编码,只能是GB2312

奇怪的是responseText的内容对它进行搜索,截取,都是成功的,就是显示乱码(这个问题是在刷新后,第一次访问没有乱码)

Function BytesToBstr(body,Cset)
dim objstream
set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function

一般我是用这个方法转编码的,而且建议使用UTF-8,国际化。