博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring MVC Controller中GET方式传过来的中文参数会乱码的问题
阅读量:5167 次
发布时间:2019-06-13

本文共 635 字,大约阅读时间需要 2 分钟。

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.

 

转载于:https://www.cnblogs.com/cl1234/p/5328290.html

你可能感兴趣的文章
学习进度表
查看>>
创建文件并写入内容
查看>>
洛谷P3803 【模板】多项式乘法 [NTT]
查看>>
openresty使用笔记(一)
查看>>
ELK 起航
查看>>
编程的方法(未完)
查看>>
.NET Core的依赖注入[1]: 控制反转
查看>>
前端JS基础知识
查看>>
Asp.NETCore轻松学系列阅读指引目录
查看>>
kubernetes系列03—kubeadm安装部署K8S集群
查看>>
Docker最全教程——从理论到实战(三)
查看>>
MySQL SYS CPU高的案例分析(一)
查看>>
【.NET Core项目实战-统一认证平台】第九章 授权篇-使用Dapper持久化IdentityServer4...
查看>>
MSSQL sql server order by 1,2 的具体含义
查看>>
LeapMotion Demo3
查看>>
C# 进制转换(二进制、十六进制、十进制互转)
查看>>
熟悉css/css3颜色属性
查看>>
删除指定表的所有索引,包括主键索引,唯一索引和普通索引 ,适用于sql server 2005 ....
查看>>
一步一步写算法(之爬楼梯)
查看>>
SQL Server 多实例下的复制
查看>>