用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> |