spring mvc中關於url中傳遞中文亂碼的解決方法

Franson發表於2017-07-04

在傳值過程中,也是亂碼出現的頻繁地。先不說到底是什麼場景了,通常常用的方案有如下幾個

配置指定的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")

 

 

相關文章