用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>
如果用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>
推荐阅读
-
Javascript的encodeURIComponent()格式化中文字符后在ASP.NET页面中乱码问题的解决
-
用javascript解决外部数据抓取中的乱码问题
-
如何解决远程页面抓取中的乱码问题
-
小记:用CSS解决表格中数据折行的问题
-
解决远程页面抓取中的乱码问题?_javascript技巧
-
有什么好的办法解决爬虫中很容易遇到的用 javascript 编写的网页的问题?
-
jquery获取URL中参数解决中文乱码问题的两种方法_javascript技巧
-
不同编码的页面表单数据乱码问题解决方法_javascript技巧
-
有什么好的办法解决爬虫中很容易遇到的用 javascript 编写的网页的问题?
-
解决远程页面抓取中的乱码问题?_javascript技巧