Tomcat中文乱码解决之道
- 1.终极解决之道:转码。
Tomcat 默认会用ISO-8859-1来编码请求字符,所以在获取请求中的数据时,可以通过转码实现无乱码。
在jsp页面中,可以通过request.setCharactorEncoding("GBK")来指定请求参数的编码。
或者在服务器端的代码中进行转码。
- 2.一劳永逸的做法:写一个过滤器用于转码
- 3.Tomcat配置
过滤器只能对post方式的请求中的中文进行转码,get方式的依然会出现乱码,修改tomcat的配置文件,server.xml修改connector配置为<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
增加URIEncoding="UTF-8" 即可解决。
或者在server.xml配置文件中,设置Connector的属性 useBodyEncodingForURI 。
该属性是指用请求体中的编码方式来编码get请求中的参数。