在搭建ssm框架过程中可能会出现乱码的问题,解决的最好方法就是不管在哪儿都设置为utf-8;
统一编码格式,所有的都设置为utf-8;
首先的就是将所有的请求设置为utf-8:
设置post请求的编码是在web.xml中设置一个过滤器,这个是ssm框架自带的,非常方便:
<!-- Spring字符集过滤 --> 2. <filter> 3. <description>字符集过滤器</description> 4. <filter-name>encodingFilter</filter-name> 5. <filter-class> 6. org.springframework.web.filter.CharacterEncodingFilter 7. </filter-class> 8. <init-param> 9. <description>字符集编码</description> 10. <param-name>encoding</param-name> 11. <param-value>UTF-8</param-value> 12. </init-param> 13. </filter> 14. <filter-mapping> 15. <filter-name>encodingFilter</filter-name> 16. <url-pattern>/*</url-pattern> 17. </filter-mapping>
对于get请求,这个方法不起作用,因而必须在tomcat中在设置:
打开conf目录下的server.xml,在70行,修改之前代码如下:
<Connector port="8080" protocol="HTTP/1.1" 2. connectionTimeout="20000" 3. redirectPort="8443" />
修改为:
<Connector port="8080" protocol="HTTP/1.1" 2. connectionTimeout="20000" 3. redirectPort="8443" 4. URIEncoding="UTF-8" 5. useBodyEncodingForURI="true" 6. />
这样就解决了get请求的编码问题。
在其他地方,比如页面,比如数据库里面也要设置一下,