`
wanchong998
  • 浏览: 236103 次
  • 性别: 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乱码的问题的解决方法

    解决Ajax的`responseText`乱码问题通常需要从以上这些方面入手,逐一排查和调整。在实际开发中,我们往往需要结合日志、浏览器开发者工具以及服务器端输出来定位问题所在。记住,关键在于保证从服务器到客户端的每一...

    Ajax 中文乱码问题

    本文将详细探讨如何解决Ajax请求过程中的中文乱码问题,并提供具体的解决方案。 #### 二、问题分析 在使用Ajax进行数据传输时,中文乱码问题通常出现在以下两个环节: 1. **发送表单数据时中文乱码**:当通过Ajax...

    extjs 前后台交互参数出现中文乱码问题的解决方法

    ### extjs前后台交互参数出现中文乱码问题的解决方法 #### 问题背景与原因分析 在使用MyEclipse开发工具进行Web应用开发时,尤其是采用ExtJS框架结合Ajax技术进行前后端数据交互的过程中,可能会遇到一个常见的...

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

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

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

    接下来,我们转向第二类问题:返回的`responseText`或`responseXML`的值中包含中文时出现乱码。这是由于AJAX默认使用UTF-8编码解码响应,如果服务器发送的数据采用其他编码,就会导致乱码。为了解决这个问题,服务器...

    ajax乱码解决汇总

    本文将深入探讨Ajax乱码问题的成因及其解决方案。 首先,我们需要了解JavaScript和Unicode的关系。JavaScript内部处理字符时,采用的是Unicode编码,这是一种包含几乎全球所有语言字符的通用编码标准。而UTF-8是一...

    05-使用XMLHttpRequest对象发送和接收XML数据,及乱码问题的解决.pdf

    3. 解决乱码问题:文件中提到了乱码问题的解决方法。在设置HTTP响应头的Content-Type时,应当指定字符编码为UTF-8。这样做的目的是确保无论服务器是哪种操作系统平台,接收方浏览器都能正确地解析字符编码,从而避免...

    escape --AJAX和JS传中文乱码的最终解决方案

    本文将深入探讨如何使用"escape"函数以及相关的编码策略来解决AJAX和JS传中文乱码的问题。 首先,我们需要理解AJAX(异步JavaScript和XML)的工作原理。AJAX允许网页在不重新加载整个页面的情况下与服务器交换数据...

    alert弹出框出现乱码

    在IT领域,尤其是在Web开发中,遇到“alert弹...通过以上两种方法之一,可以有效地解决alert弹出框出现乱码的问题,确保Web应用的正常运行和用户体验的提升。在实际开发中,选择哪种方案取决于项目的具体需求和技术栈。

    ajax乱码解决办法

    "ajax乱码解决办法"这个主题正是针对这类问题提供解决方案。 首先,我们需要理解Ajax请求中的乱码问题通常源于以下几个方面: 1. **服务器编码设置**:服务器返回的数据可能是以特定的字符编码格式(如GBK或UTF-8...

    GB和UTF网页源码采集器解决乱码

    网页源码采集器是用于获取网页内容的重要工具,尤其在处理不同编码格式的网页时,可能会遇到乱码问题。本文将深入探讨如何解决GB2312和UTF-8编码导致的乱码问题,以及如何利用VB编程语言和XMLHTTP组件来实现高效、...

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

    在使用AJAX进行数据请求时,尤其是在处理中文字符的过程中,经常会遇到一个常见问题:即通过AJAX请求得到的`responseText`中的中文字符出现乱码。这个问题主要是由于客户端(即浏览器)与服务器端在处理数据编码方式...

    Ajax乱码小结

    ### Ajax乱码问题详解 #### 一、Ajax乱码概述 在使用Ajax技术进行前后端交互的过程中,常常会遇到字符编码的问题,特别是当涉及到中文或其他非ASCII字符时,容易出现乱码现象。根据题目中的描述,“Ajax乱码:当...

    ajax中文乱码的各种解决办法总结.docx

    以下是一些解决Ajax中文乱码问题的方法: 1. **请求头设置**: 当发送Ajax请求时,需要确保请求头中的`Content-Type`字段正确设置。通常,我们应该将其设置为`"application/x-www-form-urlencoded; charset=utf-8...

    JSP XMLHttpRequest动态无刷新及其中文乱码处理.docx

    综上所述,正确地使用XMLHttpRequest进行动态无刷新交互,并解决中文乱码问题,需要关注每个环节的编码设置,确保数据在整个传输过程中保持一致。同时,了解不同编程语言和库对编码处理的差异也是解决问题的关键。

    AJAX中文乱码总结

    本篇文章将对AJAX中文乱码问题进行深入探讨,并提供解决策略。 1. 乱码产生的原因 - 数据编码不一致:服务器返回的数据编码与前端页面的编码格式不一致,比如服务器使用UTF-8,而前端页面使用GBK。 - AJAX请求...

    解决ASP.NET中的各种乱码问题总结

    总的来说,解决ASP.NET中的乱码问题,关键在于理解编码规则,确保文件编码与配置文件匹配,并使用适当的函数处理数据编码。对于AJAX请求,使用合适的工具和方法,如jQuery的 `$.ajax()` 和 `$.param()`,可以有效地...

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

    本文将详细介绍如何解决PHP+AJAX传送中文数据时出现的乱码问题。 首先,我们来看问题的核心。当使用AJAX发送POST请求时,如果直接将包含中文字符的变量(如`val`)作为请求参数,可能会因为编码问题导致乱码。例如...

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

    本篇文章将探讨如何解决一个特定的问题:当客户端使用UTF-8编码,通过AJAX方式从GB2312编码的服务器端获取数据时出现的乱码问题。 首先,我们需要了解UTF-8和GB2312这两种字符编码。UTF-8是一种广泛使用的Unicode...

Global site tag (gtag.js) - Google Analytics