当前位置: 亚洲城ca88 > 计算机网络 > 正文

解决远程页面抓取中的乱码问题

时间:2019-11-23 21:27来源:计算机网络
出于经常采纳的网页文件基本上都以gb2312编码方式,即便通过xmlhttp控件读取的话,确定会并发乱码难题,可是要把具备文件都改成utf-8编码,操作上比较费心。经过一再相比较,笔者找

出于经常采纳的网页文件基本上都以gb2312编码方式,即便通过xmlhttp控件读取的话,确定会并发乱码难题,可是要把具备文件都改成utf-8编码,操作上比较费心。经过一再相比较,笔者找到了针锋相投实用的解决方法。 ff提供了overrideMimeType方法,能够钦定重返值的编码,所以杀绝起来比较轻松,只要把这些艺术指向gb2312就可以了。对于IE,能够用vbs协作来作编码转换,用gb2utf8来改造接收到的二进制数据,当中使用到execScript方法来调用vbs的函数。

[Ctrl A 全选 注:如需引进外界Js需刷新工夫进行]ie下的转码能够修改,通过正则的回调进程能增高广大频率复制代码 代码如下:this.bs2str=function{ ifmain.vbInit; ifmain.vbInit; ifbs2str.ss=[]; returnunescape.replace/g,"%$3%$2").replace/g,function{vars=a1 a3;ifbs2str.ss[s]=jsChr;returnbs2str.ss[s];})); } 可是笔者要么以为载入数据用xmldom要好有的replace/g,"%$3%$2")改成replace/g,"%$2%$1")少一个存款和储蓄.比原本的快3倍以上.把eval去掉,成效仍可以增高部分复制代码 代码如下://byte()encoding this.bs2str=function{ ifmain.vbInit; ifmain.vbInit; ifthis.bs2str.ss=[]; returnunescape.replace/g,"%$2%$1").replace/g,function{vars=a1 a3;ifThis.bs2str.ss[s]=jsChr;returnThis.bs2str.ss[s];})); }

编辑:计算机网络 本文来源:解决远程页面抓取中的乱码问题

关键词: 亚洲城ca88