在傳值過程中,也是亂碼出現的頻繁地。先不說到底是什麼場景了,通常常用的方案有如下幾個
配置指定的filter
<!-- 配置請求過濾器,編碼格式設為UTF-8,避免中文亂碼--> <filter> <filter-name>springUtf8Encoding</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter>
設定request字符集
往往從前臺傳入到對應的controller或者是action之後出現亂碼,講講我一般的思路是先列印request本身預設的字符集
System.out.println(request.getCharacterEncoding());
接著按照情況,如果列印的不是所需要的字符集則設定相應字符集即可
request.setCharacterEncoding("UTF-8");
當然某種情況可能還是無法解決這時候用以下這個即可
String str=new String((request.getParameter("userName")).getBytes("iso-8859-1"),"utf-8")