解決Spring框架下中文亂碼的問題


在使用了Spring框架下回發現很多表單交互的地方會發生亂碼,而且寫到數據庫中也是亂碼,這其實還是字符編碼的問題,在我們還在用自己寫的servlet的時候,直接在request和response加上字符約束就好了,但是我們在使用spring的時候,這樣做就失去了框架的意義。

這時候我們可以使用一個過濾器來將轉碼。

如果你這樣:

 

1 str = new String(str.getBytes("ISO-8859-1"), "GBK");

 

 轉碼。 寫出來程序通用性不好,而且每次有中文都要這樣,用過慮器好。但只對post方式有效。get方式看。

在spring中,不僅有已經寫好的普通servlet,同樣存在已經寫好的過濾器,使用方法和spring的servlet的使用方法是一樣的。我們可以直接在配置文件web.xml中配置好,就可以直接使用:這個過濾器的完整名字是:org.springframework.web.filter.CharacterEncodingFilter

部分web.xml中的代碼:

 1 <filter>
 2     <filter-name>CharacterEncodingFilter</filter-name>  
 3     <filter-class>
 4         org.springframework.web.filter.CharacterEncodingFilter
 5     </filter-class>  
 6     <init-param>  
 7         <param-name>encoding</param-name>  
 8     <param-value>utf-8</param-value>  
 9     </init-param>  
10 </filter>
11   
12 <filter-mapping>  
13         <filter-name>CharacterEncodingFilter</filter-name>  
14         <url-pattern>/*</url-pattern>  
15 </filter-mapping>

通過這個配置我們整個工程項目的字符編碼都會成為utf-8的編碼。

 

==========================================================


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM