这个问题的解决主要还是通过url编码对中文进行处理,在服务后台代码中,进行url解码处理。

但是问题来了,asp没有解码的内置函数,只有一个编码的内置函数UrlEncode,而用UrlEncode进行编码出来的字符和js内置的3个编码(escape,encodeURI,encodeURIComponent)函数编码出来的字符串也不一样,原因没深入的了解,但是应该是JS的编码函数是通过uft-8的编码方式进行字符串编码,而asp应是gb2312进行的。

基于对以上情况的分析基本找到了问题的原因,那么要怎么解决呢,我们需要对js传过来的编码过后的字符进行解码,以下是网上找到的一段解码函数:

  1. Function URLDecode(enStr)
  2. dim deStr,strSpecial
  3. dim c,i,v
  4. deStr=""
  5. strSpecial="!""#$%&'()*+,.-_/:;< =>?@[/]^`{|}~%"
  6. for i= to len(enStr)
  7. c=Mid(enStr,i,)
  8. if c="%" then
  9. v=eval("&h"+Mid(enStr,i+,))
  10. if inStr(strSpecial,chr(v))> then
  11. deStr=deStr&chr(v)
  12. i=i+
  13. else
  14. v=eval("&h"+ Mid(enStr,i+,) + Mid(enStr,i+,))
  15. deStr=deStr & chr(v)
  16. i=i+
  17. end if
  18. else
  19. if c="+" then
  20. deStr=deStr&" "
  21. else
  22. deStr=deStr&c
  23. end if
  24. end if
  25. next
  26. URLDecode=deStr
  27. End function

这个函数可以对asp内置编码函数进行解码,但显然不是我们要的,我们要的是对utf-8方式进行编码的字符进行解码,于是又在网上找到了一个utf-8的解码代码:

  1. Function UrlDecode_GBToUtf8(ByVal str)
  2. Dim B,ub ''中文字的Unicode码(2字节)
  3. Dim UtfB ''Utf-8单个字节
  4. Dim UtfB1, UtfB2, UtfB3 ''Utf-8码的三个字节
  5. Dim i, n, s
  6. n=
  7. ub=
  8. For i = To Len(str)
  9. B=Mid(str, i, )
  10. Select Case B
  11. Case "+"
  12. s=s & " "
  13. Case "%"
  14. ub=Mid(str, i + , )
  15. UtfB = CInt("&H" & ub)
  16. If UtfB< Then
  17. i=i+
  18. s=s & ChrW(UtfB)
  19. Else
  20. UtfB1=(UtfB And &H0F) * &H1000 ''取第1Utf-8字节的二进制后4
  21. UtfB2=(CInt("&H" & Mid(str, i + , )) And &H3F) * &H40 ''取第2Utf-8字节的二进制后6
  22. UtfB3=CInt("&H" & Mid(str, i + , )) And &H3F ''取第3Utf-8字节的二进制后6
  23. s=s & ChrW(UtfB1 Or UtfB2 Or UtfB3)
  24. i=i+
  25. End If
  26. Case Else ''Ascii
  27. s=s & B
  28. End Select
  29. Next
  30. UrlDecode_GBToUtf8 = s
  31. End Function

最后我们为了页面的编码统一一般会在页面最上方加入asp的编码声明(基于gb2312的):

  1. <%@ codepage=%>
  2. <%Response.Charset = "gb2312"%>

如果是utf-8的就用:

  1. <%@ codepage=%>
  2. <%Response.Charset = "utf-8"%>

asp接收jquery post 中文乱码问题!的更多相关文章

  1. 【转】asp.net Cookie值中文乱码问题解决方法

    来源:脚本之家.百度空间.网易博客 http://www.jb51.net/article/34055.htm http://hi.baidu.com/honfei http://tianminqia ...

  2. controller接收前台数据—中文乱码问题

    项目用的开发环境为tomcat+eclipse+SSM 正如题目,controller接收前台数据-中文乱码问题,在页面编码为UTF-8的前提下,解决方案有二: 一) controller接收数据时, ...

  3. jQuery AJAX中文乱码处理

    最近工作中用jQuery ajax返回出现乱码,用的Notepad++编辑器,当JS部分传递中文时,另一页面接收的话会出现乱码,在网上找了很多方法,基本上没有很好的解决. 页面用GB2312编码,JS ...

  4. asp.net 导出excel 中文乱码解决方法 (转)

    用我转载的上一篇文章 Asp.net中把DataTable或DataGrid导出为Excel 导出的文档,中文有乱码现象,其实要解决中文乱码很简单,设置一下字符集.如下: // 设置编码和附件格式 c ...

  5. 解决SpringMvc后台接收json数据中文乱码问题

    原因分析 使用ajax从前台页面传输数据到后台controller控制器的时候,出现中文乱码 其实乱码问题出现的原因,就是由于默认的tomcat配置,接收请求是以ISO-8859-1来转码,导致中文出 ...

  6. jQuery load() 中文乱码

    1.使用editplus创建了demo.txt (ANSI保存的), $("#div1").load("demo.txt");//div显示中文乱码---> ...

  7. asp+jQuery解决中文乱码

    1. [代码][ASP/Basic]代码 '在客户端使用javascript的escape()方法对数据进行编码,在服务器端使用对等的VbsUnEscape()对数据进行解码,同样在服务器端使用Vbs ...

  8. asp.net core输出中文乱码的问题

    摘要 在学习asp.net core的时候,尝试在控制台,或者页面上输出中文,会出现乱码的问题. 问题重现 新建控制台和站点 public class Program { public static ...

  9. jQuery插件中文乱码解决办法

    修改jQuery插件源代码的时候,中文字符有时候会显示乱码,通常这个插件是老外写的,默认文件的编码格式ANSI格式,源代码写中文字符的时候就会显示乱码,解决方法就是将文件编码格式换成UTF-8格式 保 ...

随机推荐

  1. 超好玩!10款神奇的字符图案 & 词汇云生成工具

    在这里,我们推荐10款惊人的字符图案生成工具.词云可以定义为词频的图形表示,而字符图案发生器是一个把数据,如文字和标签在以视觉和吸引人的方式展示的简单的工具.这些生成工具具有不同的功能,其中包括不同的 ...

  2. SQL查询语句去除重复行

    1.存在两条完全相同的纪录 这是最简单的一种情况,用关键字distinct就可以去掉 select distinct * from table(表名) where (条件) 2.存在部分字段相同的纪录 ...

  3. sql server 脚本创建数据库邮件

    sql server 脚本创建数据库邮件代码: --脚本创建数据库邮件 --1.开启数据库邮件 RECONFIGURE WITH OVERRIDE GO RECONFIGURE WITH OVERRI ...

  4. Python函数解析

    对于Python的函数,我们需要记住的是: 1. 函数的默认返回值是None. 2. python是一个自上而下逐行解释并执行的语言.因此,函数的定义必须在函数被调用之前.同名的函数,后定义的会覆盖前 ...

  5. Team Foundation Server简介

    对于任何一个软件开发团队而言,成功的一个重要因素在于成员之间.成员与首先使用软件的用户之间有很好的沟通. Team Foundation Server是一个独立的服务器产品,逻辑上,由下列两层组成,这 ...

  6. 2015年百度之星初赛(1) --- A 超级赛亚ACMer

    超级赛亚ACMer Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem D ...

  7. background的属性和背景图片定位的实例

    本文内容: 1.背景图片定位示例 2.background常用的属性值 3.background-repeat新增的round.space属性 4.background-size的属性值(着重介绍co ...

  8. Java数字图像处理基础 - 必读

    写了很多篇关于图像处理的文章,没有一篇介绍Java 2D的图像处理API,文章讨论和提及的 API都是基于JDK6的,首先来看Java中如何组织一个图像对象BufferedImage的,如图: 一个B ...

  9. 线段树---Atlantis

    题目网址:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=110064#problem/A Description There are se ...

  10. 泛函编程(7)-数据结构-List-折叠算法

    折叠算法是List的典型算法.通过折叠算法可以实现众多函数组合(function composition).所以折叠算法也是泛函编程里的基本组件(function combinator).了解折叠算法 ...