网络编程 
首页 > 网络编程 > 浏览文章

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

(编辑:jimmy 日期: 2025/2/27 浏览:3 次 )
我们一般会在两个地方用到外部数据抓取,一个是在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>  
上一篇:推荐ASP超速入门视频教程
下一篇:巧用FileSystem组件实现WEB应用中的本地特定打印的方法
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。