欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

用javascript解决外部数据抓取中的乱码问题

程序员文章站 2022-07-12 08:17:10
我们一般会在两个地方用到外部数据抓取,一个是在asp中,一个是在hta中。如果外部数据是gb2312编码的,就涉及到转码的问题,但是传统的用vbs函数进行处理的方法,运算量...
我们一般会在两个地方用到外部数据抓取,一个是在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>