`
wanchong998
  • 浏览: 232827 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

解决responseText 内容乱码问题

    博客分类:
  • J2EE
阅读更多
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
    <title>如何解决XmlHttp.responseText的乱码问题</title>
    <script type="text/vbscript">
Function URLEncoding(vstrIn)
    strReturn = ""
    For i = 1 To Len(vstrIn)
        ThisChr = Mid(vStrIn,i,1)
        If Abs(Asc(ThisChr)) < &HFF Then
            strReturn = strReturn & ThisChr
        Else
            innerCode = Asc(ThisChr)
            If innerCode < 0 Then
                innerCode = innerCode + &H10000
            End If
            Hight8 = (innerCode And &HFF00)\ &HFF
            Low8 = innerCode And &HFF
            strReturn = strReturn & "%" & Hex(Hight8) & "%" & Hex(Low8)
        End If
    Next
    URLEncoding = strReturn
End Function

Function bytes2BSTR(vIn)
    strReturn = ""
    For i = 1 To LenB(vIn)
        ThisCharCode = AscB(MidB(vIn,i,1))
        If ThisCharCode < &H80 Then
            strReturn = strReturn & Chr(ThisCharCode)
        Else
            NextCharCode = AscB(MidB(vIn,i+1,1))
            strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
            i = i + 1
        End If
    Next
    bytes2BSTR = strReturn
End Function
</script>
    <script type="text/javascript">
function Test()
{
    var http = GetXmlHttp();
    var url;
    url = "http://www.baidu.com";
//    url = "http://www.baidu.com/s?tn=cjlgainmoney&word=%CA%AF%BE%B8&_sv=1&_si=%CB%D1%CB%F7";
    http.open("GET", url, true);
    http.onreadystatechange = function()
    {
        if (http.readyState == 4 && http.status ==200)
        {
            var text;
          
            //乱码处理,主要是用vbscript的bytes2BSTR
            //看到主题<title>和</title>之间是【百度搜索_石靖】了。
            text = bytes2BSTR(http.responseBody);

//            text = http.responseText;//直接用http.responseText会显示乱码

            alert(text);//看到主题<title></title>之间是乱码
          
          
//            document.getElementById("HtmlDiv").innerText = text;
         }
    }
    http.send(null);
}

function GetXmlHttp()
{
    var C = null;
    try
    {
        C = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(e)
    {
        try
        {
         C = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(sc)
        {
            C = null;
        }
    }

    if( !C && typeof XMLHttpRequest != "undefined" )
    {
        C = new XMLHttpRequest();
    }

    return C;
}
</script>
</head><body>
<button onclick="Test()">请单击测试乱码</button>

<div id="HtmlDiv">
</div>
</body></html>
分享到:
评论

相关推荐

    ajax的responseText乱码的问题的解决方法

    javascript的编码是和myeclipse一样的为什么还会出现问题,下面为大家介绍下ajax的responseText乱码的问题的解决方法

    Ajax中responseText返回的是一个页面而不是一个值

    自己在struts2中的写好了业务逻辑用response返回的内容却是... 您可能感兴趣的文章:ajax的responseText乱码的问题的解决方法jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXMLAjax request response 乱码解决

    ajax乱码解决汇总

    用AJAX 来GET回一个页面时,RESPONSETEXT里面的中文多半会出现乱码,这是因为xmlhttp在处理返回的responseText的时候,是把 resposeBody按UTF-8编码进解码考形成的,如果服务器送出的确实是UTF-8的数据流的时候汉字...

    AJAX中文乱码问题探讨及解决

    AJAX中文问题分为两大类:一是发送路径中的参数有中文,在服务器段接收参数值是乱码二是返回来的responseText或responseXML的值中含有中文是乱码,下面为大家介绍下解决方法

    AJAX在Post中文的时候解决乱码的方法

    用AJAX来GET回一个页面时,RESPONSETEXT里面的中文多半会出现乱码,这是因为xmlhttp在处理返回的responseText的时候,是把resposeBody按UTF-8编码进解码考形成的,如果服务器送出的确实是UTF-8的数据流的时候汉字会...

    php+AJAX传送中文会导致乱码的问题的解决方法

    关于在AJAX中GET回的ResponseText中文乱码的最简解决办法

    Javascript和Ajax中文乱码吐血版解决方案

    今天弄了一天的Ajax中文乱码问题,Ajax的乱码问题分为两种: 1. JavaScript输出的中文乱码, 比如:alert&#40;“中文乱码测试”&#41;; 解决的办法比较简单,就是把jsp里所有的charset和pageEncoding的值都设置成相同...

    关于UTF-8的客户端用AJAX方式获取GB2312的服务器端乱码问题的解决办法

    因此会产生乱码 相信很多人都在用轻量级的JS工具集-prototype.js,它的AJAX功能同样很出色 我也一直在用它,因此对于这个问题也一直是基于 prototype.js来考虑的 但经过多次试验,还是没能把它返回的 responseText ...

    AJAX在Post中文的时候乱码的解决方法

    ******************************************** 看到的说明原文如下: 用AJAX来GET回一个页面时,RESPONSETEXT里面的中文多半会出现乱码,这是因为xmlhttp在处理返回的responseText的时候,是把resposeBody按UTF-8...

    浅析AJAX乱码及错误解决方案

    一类是出现乱码,另外一类是出现javascript系统错误:-1072896658的。提示在XX[removed]=xmlhttp.responseText;这行。其实都是因为编码不统一引起的。解决方法就是加入指定字符编码指令。 一、什么是字符编码定义见...

    北京中科信软AJAX培训

    中文乱码问题及其解决方案 使用responseText处理返回的普通文本信息 实战技巧:数据校验 实战技巧:级联菜单 实战技巧:条目内容 实战技巧:级联下拉列表 使用responseXML处理返回的XML信息 实战技巧:获取元对象...

    关于ajax对象一些常用属性、事件和方法大小写比较常见的问题总结

    最近比较空闲,于是抽个时间整理些关于ajax方法的东东。在项目中经常发现ajax板块...如果不考虑浏览器兼容,这个属性+VBScript能很好的解决乱码问题。  Visual Basic code Function Bytes2BStr(vin)'二进制转字串

Global site tag (gtag.js) - Google Analytics