天天看點

Spring亂碼問題解決方案

原因:請求參數帶在url位址上、url位址什麼時候解析?

tomcat收到請求對url進行編解碼(ISO8859-1)

解決方案:在tomcat的8080端口配置出加上 URIEncoding="utf-8";

Spring亂碼問題解決方案

 原因:請求參數是帶在請求體

 請求體的解碼是在第一次擷取參數的時候

 filter可以用來解決亂碼

 request.setCharacterEncoding("utf-8")

 response.setContentType("text/html;charset=utf-8")

 1、tomcat一安裝;上手就給server.xml中的8080處加上URIEncoding="utf-8"

 2、給項目裡面再搞一個filter讓他來解決所有的post亂碼;

 3、SpringMVC自帶的一個亂碼解決的filter

項目的web.xml中配置:

在配置裡面配置了encoding和forceEncoding

來看看CharacterEncodingFilter的源碼,通過request.setCharacterEncoding(this.encoding)和response.setCharacterEncoding(this.encoding)來解決post請求和響應亂碼的問題: