用JavaScript 的 XMLHttpRequest 对象阅读只提供 GB2312 编码的网页...

发布网友 发布时间:2022-04-24 09:02

我来回答

4个回答

热心网友 时间:2022-04-24 06:47

LZ对Y是没有控制权的.呵呵..理解一下....没有写编码.只有text/html的情况.我也不太清楚默认是以什么形式的.但是我觉得如果多种编码都尝试一下以后,就会正确的.我以前写过一个AJAX的类似的页面.也是写着玩.最开始的时候也是乱码.后来通过把服务器端的回显类似强制定义以后.就可以了.
Response.ContentType="text/xml"
Response.CharSet = "GB2312"
我用ASP是这样写的.但是服务器端不能控制的话.只能对客户端进行编码了.
http://hi.baidu.com/loadinger/blog/item/6ba9da1652dbe1162b43aa.html
上面是我的这个AJAX的代码.不知道对LZ有没有帮助.楼主QQ多少.一起研究一下编码问题.这个以后肯定还会碰到的...

热心网友 时间:2022-04-24 08:05

 
 
 
在 Greasemonkey 里即是在火狐里,那你大可调用火狐的 XMLHttpRequest 对象专有的 overrideMimeType( ):
http://www.xulplanet.com/references/objref/XMLHttpRequest.html#method_overrideMimeType

以 'text/html; charset=gb2312' 作为该方法的参数就可以了。
 
 
 

热心网友 时间:2022-04-24 09:40

这个问题在于,你所请求数据的页面编码必须是utf-8的,他默认是用这种编码传递数据的,至于数据到你的页面时,编码可以任意的,你多试一下就会明白的。

热心网友 时间:2022-04-24 11:31

首先在顶部写上这段代码:<%!String trans(String chi)
{
String result=null;
byte temp[];
try
{
temp=chi.getBytes("iso-8859-1");
result=new String(temp);
}
catch(UnsupportedEncodingException e)
{
System.out.println(e.toString());
}
return result;
}
%>
再用这个方法来传值:String 变量名=trans(request.getParameter("传过来的值"));

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com