用javascript解决外部数据抓取中的乱码问题
我们一般会在两个地方用到外部数据抓取,一个是在asp中,一个是在hta中。如果外部数据是gb2312编码的,就涉及到转码的问题,但是传统的用vbs函数进行处理的方法,运算量比较大,有些特殊字符还会出错。
如果用adodb.stream控件来进行转码,就简单多了,不需要借助vbs的二进制处理函数了,同时速度快了很多。
<script>
function loaddata(surl){
var xh
xh=new activexobject("microsoft.xmlhttp")
xh.open("get",surl,false)
xh.send(null)
return gb2utf8(xh.responsebody)
}
function gb2utf8(sdata){
var ostream
ostream=new activexobject("adodb"+".stream")
ostream.type=1
ostream.mode=3
ostream.open
ostream.write(sdata)
ostream.position=0
ostream.type=2
ostream.charset="gb2312"
return ostream.readtext()
}
</script>
如对本文有疑问,
点击进行留言回复!!
网友评论