主页 > 知识库 > 如何解决远程页面抓取中的乱码问题

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

热门标签:澳大利亚城市地图标注 辽宁银行智能外呼系统 辽宁正规电销机器人 海南银行智能外呼系统商家 辰溪地图标注 姜堰电销机器人 上海浦东腾讯地图标注位置 电销机器人违法了吗 许昌智能电销机器人公司

由于平时使用的网页文件基本上都是gb2312编码方式,如果通过xmlhttp控件读取的话,肯定会出现乱码问题,但是要把所有文件都改成utf-8编码,操作上比较麻烦。经过反复比较,我找到了相对实用的解决方法。

  ff提供了overrideMimeType方法,可以指定返回值的编码,所以解决起来比较简单,只要把这个方法指向gb2312就可以了。对于IE,可以用vbs配合来作编码转换,用gb2utf8来转换接收到的二进制数据,其中利用到execScript方法来调用vbs的函数。

复制代码 代码如下:

body>/body>
script>
loadPage("index.htm")
function loadPage(url){
    var xh=window.Event?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP")
    xh.open("GET",url,true)
    if(window.Event)
        xh.overrideMimeType("text/xml;charset=gb2312")
    xh.onreadystatechange=function(){
        if(xh.readyState!=4)
            return
        var v
        v=window.Event?xh.responseText:window.gb2utf8(xh.responseBody)
        alert(v)
    }
    window.gb2utf8=function(data){
        var glbEncode=[],t,i,j,len
        gb2utf8_data=data
        execScript("gb2utf8_data = MidB(gb2utf8_data, 1)+' '", "vbscript")
        t=escape(gb2utf8_data).replace(/%u/g,"").replace(/(.{2})(.{2})/g,"%$2%$1").replace(/%([A-Z].)%(.{2})/g,"@$1$2")
        t=t.split("@")
        i=0
        len=t.length
        while(++ilen){
            j=t[i].substring(0,4)
            if(!glbEncode[j]) {
                gb2utf8_char = eval("0x"+j)
                execScript("gb2utf8_char=Chr(gb2utf8_char)","vbscript")
                glbEncode[j]=escape(gb2utf8_char).substring(1,6)
            }
            t[i]=glbEncode[j]+t[i].substring(4)
        }
        gb2utf8_data=gb2utf8_char=null
        return unescape(t.join("%")).slice(0,-1)
    }
    xh.send(null)
}
/script>

您可能感兴趣的文章:
  • ajax 乱码的一种解决方法
  • Ajax request response 乱码解决方法
  • 一句话解决AJAX中文乱码问题[推荐]
  • xmlhttp 乱码 比较完整的解决方法 (UTF8,GB2312 编码 解码)
  • AJAX乱码解决新方法
  • ajax+php中文乱码解决办法
  • AJAX在Post中文的时候乱码的解决方法
  • Ajax乱码问题整理
  • ajax以及一些乱码问题

标签:崇左 晋城 抚州 威海 铜川 西藏 深圳 伊春

巨人网络通讯声明:本文标题《如何解决远程页面抓取中的乱码问题》,本文关键词  如何,解决,远程,页面,抓取,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《如何解决远程页面抓取中的乱码问题》相关的同类信息!
  • 本页收集关于如何解决远程页面抓取中的乱码问题的相关信息资讯供网民参考!
  • 推荐文章