Tomcat接收請求的時候,默認使用的IOS-8859-1編碼,而該編碼只占一個字節(jié),不支持中文(兩個字節(jié))
解決方案:
1:對亂碼使用ISO-8859-1解碼--->byte數(shù)組.
2:對byte數(shù)組重新使用UTF-8編碼
示例代碼:
//1.使用ISO-8859-1解碼,恢復(fù)為二進制
byte[] data = username.getBytes("ISO-8859-1");
//2.重新使用UTF-8編碼
username = newString(data,"UTF-8");
但是該中方式在表單參數(shù)過多的時候就會很麻煩,我們推薦使用以下方式.
解決方案:
POST方式:
request.setCharacterEncoding("UTF-8");//設(shè)置請求的編碼方式.
注意:必須在獲取第一個參數(shù)之前設(shè)置,只對POST方式有效.
GET方式:
重新設(shè)置Tomcat的編碼方式,修改Tomcat的配置文件.Tomcat根/conf/server.xml(修改端口行一行).
注意:該方式只對于GET方式有效.