昨天跟着尚學堂老師搭的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" />
這五項沒問題后,一定要重啟服務,不要像我,明明改好了,還在納悶為什么不行。
