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