對於配置了Spring編碼過濾器之後,仍出現中文亂碼的處理
阿新 • • 發佈:2019-02-03
自從Tomcat5.x開始,就對GET方式和POST方式的提交分別給予不同的處理方式。POST方式是利用request.setCharacterEncoding()來進行設定編碼,如果沒有設定的話,就是按照預設的ISO-8859-1來進行編碼;GET方式提交總是利用預設的ISO-8859-1來進行編碼引數。
編碼過濾器的實質是Spring利用request.setCharacterEncoding(this.encoding)幫我們處理了post方法的編碼格式,但是遇到get方法,還需要別的方法來處理,有兩個處理方法:
1.利用String
String username = new String(username.getBytes("ISO-8859-1"), "UTF-8"); //通過ISO-8859-1編碼獲取到byte[],然後進行UTF-8再次編碼
2、在tomcat中的server.xml進行配置URIEncoding="UTF-8"
<Connector URIEncoding="UTF-8" port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />