JSP中,AJAX使用POST方式提交中文乱码问题解决
来源:互联网 发布:招商淘宝联名信用卡 编辑:程序博客网 时间:2024/04/30 22:27
今天终于解决了AJAX的中文乱码问题,写篇文章来帮助一下有同样问题的朋友们。我的开发环境:XP, eclipse,使用GB18030编码。
当遇到这个问题时,到网上去查了好多文章,提到几种解决方案,如:全站UTF-8编码;请求头编码为中文;使用javascript中的escape函数。
使用GET方式提交数据的时候,中文问题很好解决,setrequestheader("Content-Type","text/html; encoding=gb18030")就可以了。但这个方法在POST方式中却不起作用。大家都知道GET方式提交数据有长度限制,有时我们必须使用POST方式来提交数据。
但对于POST方式,使用上述的几种方法经过多次测试,问题依旧。我郁闷了好几天。
今天把问题解决了,很简单,是使用escape(或encodeURI,两个函数javascript的函数,功能基本相同,可以查一下相关的帮助),但要使用两次,这是解决问题的关键。
我的例子涉及两个页面,一个是初始页面,一个是AJAX请求处理页面。
初始页面内容如下(hello.jsp):
/////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
ajax请求处理页面(act.jsp)的内容如下:
/////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
分析:当调用request.getParameter()函数时,会自动进行一次URI的解码过程,调用时内置的解码过程会导致乱码出现。而URI编码两次后,request.getParameter()函数得到的是原信息URI编码一次的内容。再用可控的解码函数java.net.URLDecoder.decode()就可解出原始的正确的信息。
以上分析纯属个人看法,不知是否正确。
- JSP中,AJAX使用POST方式提交中文乱码问题解决
- JSP中,AJAX使用POST方式提交中文乱码问题解决
- JSP中FORM的POST方式提交参数中文乱码
- Ajax使用POST提交中文乱码问题
- Ajax使用POST提交中文乱码问题
- jsp表单提交(post提交方式)中文乱码解决方法
- tomcat下ajax‘post方式提交服务器乱码问题解决方案
- Ajax以Post方式提交数据,中文乱码。
- myeclipse jsp post方式提交中文乱码解决办法
- myeclipse jsp post方式提交中文乱码解决办法
- 中文乱码问题解决,过滤器配置,get post提交乱码,filter,struts乱码,jsp乱码
- JQuery中Ajax的Post提交中文乱码的解决方案
- JQuery中Ajax的Post提交中文乱码的解决方案
- Ajax使用POST提交中文乱码问题(转)
- Ajax使用POST提交中文乱码问题(转)
- 在jsp编程中,用get提交表单提交正常,而用post方式出现中文乱码-问题
- JAVA中Get、Post方式提交中文乱码解决方法
- js超链接使用post方式提交----解决中文乱码
- 奇怪了
- Lucene各种搜索例子
- C++ 函数重载(overroad) 覆盖(override) 隐藏(hide) 的区别
- 错误提示:类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内
- 飞鸽协议分析
- JSP中,AJAX使用POST方式提交中文乱码问题解决
- JVM的工作原理
- JSP的9个内置对象
- 全面解析java中的String对象
- Java基础知识
- 看了一天的PDF
- 关于计算机课程的英文意译
- 一个运行在Web服务器上的远程管理简单例子
- 在长沙买二手本的惨痛教训