http://expert.csdn.net/Expert/topic/2273/2273616.xml?temp=.4749872
Enter URL:<input type="text" id="url"><br>
<input type="button" value="show" onclick="getURL()">
<script language="javascript">
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
function getURL()
{
xmlhttp.open("GET",url.value,false);
xmlhttp.send();
var WebCode = xmlhttp.responseText;
WebCode.CharSet="GB2312";
document.write(WebCode);
}
</script>
出来的代码老是不显示中文
帮顶
试试:WebCode.CharSet="utf-8";
如果获取的网页编码为gb2312的话,那么你的代码应该没问题,如果为big5的话,用utf-8试试
我想你在send()之后,应该在接收的页面中设置字符集,使返回的结果的开头类似:
<?xml version="1.0" encoding="utf-8" ?>
或
<?xml version="1.0" encoding="GB2312" ?>
等。
不知行不行
try it:
xmlHTTP.setRequestHeader("Content-Type","text/xml; charset=utf-8" ) ;
结合VBSCRIPT使用,这思想我是从ASP无组件文件上传那里学来的,居然解决了这头痛的问题,呵呵.
<script language="vbscript">
Function bin2str(binstr)
Dim varlen,clow,ccc,skipflag,i
skipflag=0
ccc = ""
If Not IsNull(binstr) Then
varlen=LenB(binstr)
For i=1 To varlen
If skipflag=0 Then
clow = MidB(binstr,i,1)
If AscB(clow) > 127 Then
ccc =ccc & Chr(AscW(MidB(binstr,i+1,1) & clow))
skipflag=1
Else
ccc = ccc & Chr(AscB(clow))
End If
Else
skipflag=0
End If
Next
End If
bin2str = ccc
End Function
</script>
<script language="jscript">
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
function getURL()
{
xmlhttp.open("GET",url.value,false);
xmlhttp.send();
var WebCode = bin2str(xmlhttp.responseText);
document.write(WebCode);
}
</script>
document.write(HttpUtility.UrlEncode(WebCode))
帮你打断 ,你继续顶吧
希望对你有所帮助。。
<HTML>
<HEAD>
<TITLE></TITLE>
<Script language="Javascript">
var sFile = "sina.txt";
var sURL = "http://www.sina.com.cn";
var objXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
objXMLHTTP.Open("GET",sURL,false);
objXMLHTTP.Send();
var St1= new ActiveXObject("Adodb.Stream");
St1.type = "1";
St1.open();
St1.write(objXMLHTTP.responsebody);
St1.savetofile(sFile,2);
St1.close();
var St2= new ActiveXObject("Adodb.Stream");
St2.type = "2";
St2.charset="gb2312";
St2.open();
St2.loadfromFile(sFile);
document.write(St2.readText());
St2.close();
</Script>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
</BODY>
</HTML>
如果你要访问其它域的数据最好用服务器端代码来获得Xml数据。。
上面的代码你可以直接存为html文件双击执行看看效果。。
我运行了,没问题。。
或者用服务器端代码来生成文件访问。。这样就不存在权限问题。。
不知有没有其它的方法我也不太清楚。。
服务器端的代码我也写了一下。。你可以看一下效果。。
http://203.212.3.68/Demo/xml.asp
ASP 写的。。