今天测试spring mvc ,中文乱码,在web.xml中加上java
<filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
过滤全部请求,但仍是有问题,最后发现是表单的问题,在表单中method默认是get,而以上过滤器只对post有效果,若是是 get,须要修改 Tomcat根式目录的 conf/server.xml文件中,找<Connector port="8080" />,在里面加<Connector port="8080" uRIEncoding="utf-8" />web
关于Get的中文乱码,除了根据上面所述更改tomcat server.xml的方式生效外,还能够对参数进行转码,以下:spring
name = new String(name.getBytes("iso-8859-1"),"utf-8");tomcat
这样也能够获得一样正确的结果
mvc