• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    如何解决远程页面抓取中的乱码问题

    由于平时使用的网页文件基本上都是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以及一些乱码问题
    上一篇:用 ajax 的方法解决网页广告显示的问题
    下一篇:一个方便AJAX开发的通用类
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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