springmvc的中文亂碼問題主要有以下幾種情形:
頁面傳值到后臺:
工程編碼(最后一開始建立工程就設置整個工程的編碼)
頁面的幾種編碼屬性的設置
get提交方式亂碼的處理
post提交方式亂碼的處理
后臺到數據庫亂碼:
數據庫連接字符串指定編碼格式
數據庫編碼屬性(也是一開始設置數據庫的時候就要設置好,不然要重新建數據庫)
1.頁面的幾種編碼屬性
1
2
3
4
5
|
pageEncoding= "UTF-8" jsp頁面編碼,jsp文件本身的編碼 contentType= "text/html; charset=UTF-8" web頁面顯示的編碼,jsp頁面輸出流在瀏覽器中顯示的編碼 <meta http-equiv= "Content-Type" content= "text/html; charset=utf-8" > web界面的輸入編碼,就是輸入框中輸入的字體編碼。 |
2.get提交方式亂碼處理(一般是由于tomcat引起的,所以需要設置tomcat的編碼)
改tomcat中server.xml中的port=“8080”,加上一個 URIEncoding=”utf-8” 如下圖
3.post提交方式亂碼處理(在web.xml中設置編碼過濾器)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<!-- 解決工程編碼過濾器 --> <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>forceEncoding</param-name> <param-value> true </param-value> </init-param> </filter> <filter-mapping> <filter-name>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> |
4.數據庫連接字符串指定編碼
jdbc.url=jdbc:mysql://localhost:3306/student?characterEncoding=UTF-8
希望本文對您有所幫助
原文鏈接:http://www.cnblogs.com/DaTouDaddy/p/6519709.html