Spring MVC Controller中GET方式传过来的中文参数会乱码的问题
2024-08-26 05:03:47
Spring MVC controller
这样写法通常意味着访问该请求,GET和POST请求都行,可是经常会遇到,如果碰到参数是中文的,post请求可以,get请求过来就是乱码。如果强行对参数进行了解码,get请求可以了,反而post请求会乱码了。
查阅资料
为何会乱码
Spring MVC 是基于Servlet,在Http请求到达Servlet解析之前,GET过来的URL已经被Tomcat先做了一次URLDecode。Tomcat对GET方式默认的URL解码结果是iso-8859-1而不是我认为的UTF-8(很奇怪为啥会这么干,开源项目不都是喜欢默认UTF-8的么)。
解决方案
解决方案也很简单,除了平常在项目中web.xml里配置的转码filter,jsp跟代码文件统一编码外,最关键的一点就是在Tomcat的conf目录下的server.xml中配置 Connector的URIEconding=“UTF-8"属性即可。
官方文档中对这个属性的说明:
URIEncoding :This specifies the character encoding used to decode the URI bytes, after %xx decoding the URL. If not specified, ISO-8859-1 will be used.
最新文章
- ssh自动输入密码脚本 切换目录脚本
- jQuery弹出提示信息简洁版(自动消失)
- 【Yeoman】热部署web前端开发环境
- iOS-公司开发者账号的申请和注册(博主原创+亲身经历+2016年申请+附带与邓白氏公司的往来邮件截图)
- 似然估计中为什么要取对数以GMM为例
- [Topcoder]AvoidRoads(dp,hash)
- jsp中的动作元素:<;jsp:plugin>;
- linux 进程备忘
- java多线程学习(一)
- Android获取SD卡中选中图片的路径(URL)
- SocketChannel
- day9、用户登陆出现-bash-4.1$错误的原因及解决方法
- 20165223 week2测试补交与总结
- 解析如何在C语言中调用shell命令的实现方法【转】
- C++读取dll文件所在目录
- theos第一次编译成功,记录一下
- 『Github』简易使用指南
- “数学口袋精灵”App的第一个Sprint计划(总结)
- 在容器服务kubernetes上配置https
- PHP框架 Yii framework 用yiic命令时提示“php.exe”不是内部或外部命令