`
xiang588
  • 浏览: 313617 次
  • 性别: Icon_minigender_1
  • 来自: 甘肃平凉
社区版块
存档分类
最新评论

asp,jquery,ajax中文乱码解决办法

阅读更多
>1、只要在ajax中有数据提交时,如果页面编码不是utf-8的,都应该对提交的数据进行编码,js的编码函数为escape()
2、在服务器端页接收数据后进行解码,然后对数据进行相关的处理后再编码
3、返回到客户端后再解码
4、如果没有提交数据,而是直接从服务器端获取数据,那直接在服务器页面设置Response.Charset="gb2312"即可,不用再编码解码
vbscript中分别对应js中的escape()和unescape()函数
程序代码 程序代码
<%
          '与javascript中的escape()等效
    Function VbsEscape(str)
        dim i,s,c,a 
        s="" 
        For i=1 to Len(str) 
            c=Mid(str,i,1)
            a=ASCW(c)
            If (a>=48 and a<=57) or (a>=65 and a<=90) or (a>=97 and a<=122) Then
                s = s & c
            ElseIf InStr("@*_+-./",c)>0 Then
                s = s & c
            ElseIf a>0 and a<16 Then
                s = s & "%0" & Hex(a)
            ElseIf a>=16 and a<256 Then
                s = s & "%" & Hex(a)
            Else
                s = s & "%u" & Hex(a)
            End If
        Next
        VbsEscape=s
    End Function
    '与javascript中的unescape()等效
    Function VbsUnEscape(str)
                    Dim x
        x=InStr(str,"%") 
        Do While x>0
            VbsUnEscape=VbsUnEscape&Mid(str,1,x-1)
            If LCase(Mid(str,x+1,1))="u" Then
                VbsUnEscape=VbsUnEscape&ChrW(CLng("&H"&Mid(str,x+2,4)))
                str=Mid(str,x+6)
            Else
                VbsUnEscape=VbsUnEscape&Chr(CLng("&H"&Mid(str,x+1,2)))
                str=Mid(str,x+3)
            End If
            x=InStr(str,"%")
        Loop
        VbsUnEscape=VbsUnEscape&str
    End Function
%>
来个演示:

客户端页:client.html

程序代码 程序代码
<script>
    //jquery的post
    $.post
    (
        'server.asp',
        {
            Act:'DoSubmit',
            UserName:escape('西楼冷月'),//进行编码
           WebSite:'www.chinacms.org'
        },
        function(data)
        {
            alert(unescape(data));//对返回数据进行解码
        }
    );
    
</script>

服务器端页:server.asp
程序代码 程序代码
<%
                Response.Charset="gb2312"
    Dim UserName,WebSite
    If Request.Form("Act")="DoSubmit" Then
                               UserName=Request.Form("UserName")
        WebSite =Request.Form("WebSite")

        '在服务器端解码
        UserName=VbsUnEscape(UserName)//解码

        '处理数据
        '---省略数据处理部分

        '数据处理后输出,先用VbsEscape()编码
        'by www.chinacms.org
        Response.Write VbsEscape(UserName)
    End If
%>
分享到:
评论

相关推荐

    jquery+asp ajax 中文乱码问题解决文档

    ### jQuery + ASP AJAX 中文乱码问题解决方案 在开发基于jQuery和ASP的Web应用程序时,中文乱码问题可能成为困扰开发者的一大难题。特别是在使用Ajax进行前后端数据交互时,中文字符可能会出现乱码现象,影响用户...

    Asp中用法JQuery的AJAX提交中文乱码解决方法_.docx

    AJAX提交中文乱码解决方法在Asp中使用JQuery AJAX(Asynchronous JavaScript and XML)是一种异步请求数据的技术,用于实现网页的局部刷新,而不需要重新加载整个网页。然而,在使用AJAX时,中文乱码问题经常会出现...

    Asp中使用JQuery的AJAX提交中文乱码解决方法

    在使用Asp进行Web开发过程中,通过JQuery的AJAX方法提交表单数据时,中文字符很...通过上述方法,我们可以有效地解决在Asp中使用JQuery的AJAX提交中文时出现的乱码问题,并确保Web应用能够稳定、正确地处理中文字符。

    用jquery ajax asp实现的搜索引擎的输入输出

    用jquery ajax asp实现的搜索引擎的输入输出 功能点: (1)读写cookie (2)在js中获取asp请求中的数据 (3)使用jquery ajax实现的翻页功能 (4)解决通过ajax转发后,搜索结果列表中文乱码的问题

    ASP.NET jquery.uploadify文件上传控件测试项目(已解决中文乱码)

    通过研究这些文件,开发者可以学习如何在自己的ASP.NET项目中集成和定制jQuery.uploadify,同时避免中文文件名乱码的问题。这个测试项目提供了一个完整的解决方案,对遇到类似问题的开发者有着很高的参考价值。

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

    ### AJAX在POST中文时解决乱码的方法 #### 一、问题背景 在使用AJAX进行数据请求时,尤其是在处理中文字符的过程中,经常会遇到一个常见问题:即通过AJAX请求得到的`responseText`中的中文字符出现乱码。这个问题...

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

    AJAX中文乱码问题是一个常见的困扰开发者的问题,主要涉及到两个主要方面:发送请求时参数的编码和接收响应时数据的解码。...通过理解这些问题的根源并应用相应的编码和解码策略,可以有效地解决AJAX中文乱码问题。

    ajax请求乱码的解决方法(中文乱码)

    本文将详细介绍如何解决Ajax请求中出现的中文乱码问题。 首先,我们需要理解Ajax请求的基本原理。Ajax(Asynchronous JavaScript and XML)是一种在不刷新整个页面的情况下,与服务器交换数据并更新部分网页的技术...

    JQuery.ajax传递中文参数的解决方法 推荐

    总结起来,解决JQuery.ajax传递中文参数乱码问题的核心在于: 1. 在`$.ajax`设置中指定`contentType: "application/x-www-form-urlencoded; charset=UTF-8"`。 2. 服务器端的页面响应编码(如ASP.NET的`...

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

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

    真正的JQuery.ajax传递中文参数的解决方法

    本篇文章主要探讨了如何解决jQuery.ajax在传递中文参数时出现的乱码问题。 首先,我们需要理解jQuery的默认设置。jQuery的ajax请求,默认的`contentType`是`application/x-www-form-urlencoded`,这个设置意味着...

    用JQuery 实现AJAX加载XML并解析的脚本

    JQuery是一个强大的JavaScript库,它简化了Ajax操作。本篇将详细解释如何使用JQuery实现AJAX加载XML并进行解析。 首先,我们要理解XML(可扩展标记语言)是一种用于存储和传输数据的标准格式,它的结构清晰,易于...

    jquery乱码与contentType属性设置问题解决方案

    jQuery 乱码问题通常涉及到编码格式的不匹配,特别是在使用 AJAX 进行数据交互时。在 jQuery 中,乱码问题通常出现在数据的发送(POST)和接收(GET)过程中,尤其是涉及中文字符时。以下是对这个问题的详细分析和...

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

    在ASP.NET开发中,乱码问题常常困扰开发者,尤其是在页面显示和数据传输过程中。...对于AJAX请求,使用合适的工具和方法,如jQuery的 `$.ajax()` 和 `$.param()`,可以有效地避免乱码问题,提高代码的可读性和维护性。

    在asp.net中使用jquery实现无刷新的验证用户名是否存在

    在ASP.NET中使用jQuery实现无刷新的验证用户名是否存在,是一种典型的AJAX应用,它通过异步请求与服务器交互,无需重新加载整个页面即可完成数据的校验,极大地提升了用户体验。以下是对这一知识点的详细解析: ###...

    控件嵌套在ajax的模板中 需要提示的对话框写法

    在本篇文章中,我们将深入探讨如何在Ajax模板中嵌套控件,并实现特定情况下提示对话框的方法。通过本文,读者可以了解到如何有效地在基于Ajax的Web应用中展示对话框,尤其是在用户验证或需要进行提示信息时的情景下...

Global site tag (gtag.js) - Google Analytics