1. 程式人生 > >對於配置了Spring編碼過濾器之後,仍出現中文亂碼的處理

對於配置了Spring編碼過濾器之後,仍出現中文亂碼的處理

自從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" />