昨天跟着尚学堂老师搭的SSM框架,发现页面中的数据存到数据库中出现中文乱码,数据库中和页面列表中均显示‘?’,数据库中已有的中文正常显示。
检查了多个方面:
一:项目的编码格式,utf-8(preference->general->workspace)
二:jsp中的编码格式,统一调(preference->myEclipse->jsp),确保页面中都是jsp
三:web.xml中的字符编码过滤器,一定要放在所有过滤器之前
<filter>
<filter-name>CharacterEncodingFilter</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>forceRequestEncoding</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>forceResponseEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
四:数据库中,navicat连接和数据库属性中的编码格式都是utf-8
五:设置tomcat的编码格式
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
这五项没问题后,一定要重启服务,不要像我,明明改好了,还在纳闷为什么不行。