中文亂碼的問題
1. post請求的方式,參數在request body中(可使用請求監控工具查看,如Fiddler)
解決辦法:在spring CharacterEncodingFilter類中,通過request.setCharacterEncoding(this.encoding)來轉碼;
2. get(包括接口)訪問,參數是跟在URL後(header中),在spring中不允許直接修改request.getParameterMap()
解決辦法:修改 tomcat目錄\conf\server.xml,在tomcat訪問端口Connector設置URIEncoding="UTF-8"
3. 數據庫、java代碼層、view層編碼的一致
數據庫:
java代碼層:
file encoding: UTF-8
view層:
以上是整個web項目中涉及到的編碼設置,保持一致後,中文亂碼問題就解決了。
備註:
String s = new String(name.getBytes(“ISO8859_1”),” UTF-8”);
第一個參數是目標編碼(頁面網頁上的編碼),後一參數是字符串的源編碼格式。