表单提交方式由POST改为GET出现乱码的解决

简介: 组合查询功能,原先使用<html:form>缺省是以POST方式提交的,增加了分页功能后,由于要在URL里记住用户提交的查询内容(例如:http://localhost:8080/aims/client/filter.do?name=%E5%BC%A0&address=%E5%8C%97%E4%BA%AC&title=&duty=&departmentCode=10000001&categoryCode=10000002&fieldCode=10000006&genderCode=&identityCode=),所以表单的提交方式要改为GET。

组合查询功能,原先使用<html:form>缺省是以POST方式提交的,增加了分页功能后,由于要在URL里记住用户提交的查询内容(例如:http://localhost:8080/aims/client/filter.do?name=%E5%BC%A0&address=%E5%8C%97%E4%BA%AC&title=&duty=&departmentCode=10000001&categoryCode=10000002&fieldCode=10000006&genderCode=&identityCode=),所以表单的提交方式要改为GET。

只是简单的改为method="GET",但这样一改却让action无法得到正确的输入值,例如用户在姓名条件里输入“张”,在action里用theForm.getName()会得到形如“%A4”的乱码,不仅查询结果是错误的,而且在重新显示的查询表单的姓名栏里也显示出乱码。

我试了很多种转码也没转成原来的值,问了很多朋友,最后的解决方式还是通过转换编码,是把ISO8859-1转为UTF-8,即String name=new String(theForm.getName().getBytes("ISO8859-1"),"UTF-8");,注意我的应用程序里已使用了encoding为UTF-8的Filter。

虽然要加手工转码的代码很不爽,但只在这一处而已,也不碍大事。只是我现在的环境是Tomcat+Mysql,不知道换到其他服务器上会不会重新出现乱码问题,好在这个项目不需要考虑这个问题。

据说Tomcat处理POST和GET的请求时处理编码的方式不太一样,我还看到有篇帖子说要在server.xml的<Connector>里加URIEncoding="GBK"属性,但我试了不起丝毫作用。

本文转自博客园八进制的博客,原文链接:表单提交方式由POST改为GET出现乱码的解决,如需转载请自行联系原博主。

相关文章
POST请求body实现数据以记事本格式保存在服务器
POST请求body实现数据以记事本格式保存在服务器
69 0
|
Web App开发 前端开发
Ajax返回中文乱码的解决方法
2007年07月09日 11:12 Ajax返回中文乱码的解决方法:一,通过VBS转换函数VBS转换函数:Function convertstr(vIn) strReturn = "" For i = 1 To LenB(vIn) ThisCharCode = AscB(Mi...
661 0
|
前端开发 数据库
AJAX中文传值乱码问题解决方法
在软件开发过 程中,乱码问题一直都是我们最头痛的事,页面的编码,开发环境的编码,数据库的编码,有一个不一致都有可能导致乱码问题的发生;有的很好解决,有的很棘 手;当你使用AJAX技术时,为调用的后台方法传值是必不可少的,英文和数字还好解决,一般不会出现乱码,介是如果是要传中文的字符呢?很容易就会乱掉, 因为在你使用编码的时候一般会默认:BG2312,而Ajax默认使用的是UTF
1899 0
|
Java JavaScript
window.location.herf=url参数有中文,到后台乱码问题解决
js中的代码:   /*将中文的参数进行两次编码 */   function queryByName(){                    //获取查询条件的用户名                    var queryName=$("#queryName").
1494 0
|
JavaScript
JS URL传递中文参数时出现乱码的处理
原文:JS URL传递中文参数时出现乱码的处理      在浏览器中显示的地址是这样的:   但是按F12调试的时候的地址却变化掉了:               这个肯定是是因为浏览器对url路径默认编码了。
1090 0
关于在用curl函数post网页数据时,遇上表单提交 type为submit 类型而且没有name和id时可能遇到的问题及其解决方法
curl函数库实现爬网页内容的链接在 http://www.cnblogs.com/linguanh/p/4292316.html 下面这个是没有name和id 标识的   这种类型,在填写完信息后,我们一般需要点一个按钮去触发提交事件。
984 0
|
10月前
|
XML 机器学习/深度学习 JSON
在火狐浏览器调ajax获取json数据时,控制台提示“XML 解析错误:格式不佳”。
在火狐浏览器调ajax获取json数据时,控制台提示“XML 解析错误:格式不佳”。
102 0
在火狐浏览器调ajax获取json数据时,控制台提示“XML 解析错误:格式不佳”。
|
.NET 开发框架 编解码
url带中文参数显示乱码的问题
最近要上个项目,其实很简单的东西,就是拼接一个url,不过url中的参数需要UrlEncode编码的,其实对我来说,这个问题很好解决,C#用HttpUtility.UrlEncode来进行编码,asp用Server.UrlEncode来进行编码。
1482 0
|
6月前
|
JSON 前端开发 JavaScript
java中post请求调用下载文件接口浏览器未弹窗而是返回一堆json,为啥
客户端调接口需要返回另存为弹窗,下载文件,但是遇到的问题是接口调用成功且不报错,浏览器F12查看居然返回一堆json,而没有另存为弹窗; > 正确的效果应该是:接口调用成功且浏览器F12不返回任何json,而是弹窗另存为窗口,直接保存文件即可。
231 2