1. 程式人生 > >二、前端向後臺發起請求時,出現的引數亂碼問題解決方案

二、前端向後臺發起請求時,出現的引數亂碼問題解決方案

(一)問題介紹
  前端在向後臺發起請求時,可能會向後臺傳遞引數。傳遞引數主要有兩種方式:POSTGET,若我們不加以配置,那麼後臺接到的引數可能會有亂碼問題。

(二)POST亂碼
  對於POST方式提交的引數若出現亂碼,解決方案如下:

<!-- 解決post亂碼問題 -->
    <filter>
        <filter-name>encoding</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class
>
<!-- 設定編碼參是UTF8 --> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encoding</filter-name
>
<url-pattern>/*</url-pattern> </filter-mapping>

(二)GET亂碼
  對於GET方式提交的引數若出現亂碼,解決方案主要有兩種,
方式一:修改Tomcat配置檔案
  修改tomcat配置檔案新增編碼與工程編碼一致

<Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

方式二:
  對引數進行重新編碼,因為ISO8859-1

tomcat預設編碼,需要將tomcat編碼後的內容按utf-8編碼

String userName = new String(request.getParamter("userName").getBytes("ISO8859-1"),"utf-8")