標籤:style blog http color io os 使用 ar for
環境:MySQL,Spring MVC3.2.0,jQuery v2.0.3,使用JdbcTemplate訪問資料庫,相當於全套Spring解決方案。
現象
直接使用表單POST,或者使用jQuery POST資料到服務端,在Controller中獲得的中文字串皆為亂碼。到達JdbcTemplate插入或者更新資料庫時,自然也是亂碼。
解決措施
修改web.xml,增加編碼過濾器,如下(注意,需要設定forceEncoding參數值為true)
<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>
效果
在Controller中獲得的中文字串已正常。但使用JdbcTemplate插入或者更新資料庫後,依然是亂碼。可判定是寫入資料庫時,出現編碼問題。
解決措施
修改applicationContext.xml檔案,設定MySQL訪問的url為:url="jdbc:mysql://localhost:3306/xxx?useUnicode=true&characterEncoding=UTF-8"
效果
寫入資料庫也已經正常,讀取和在網頁上顯示正常。
參考
http://blog.csdn.net/xuechongyang/article/details/8283924
http://hi.baidu.com/fuzk2008/item/956351c17a47d653bcef6956
Spring MVC+MySQL儲存中文變成亂碼