1. 程式人生 > >解決表單GET提交後臺資料亂碼問題

解決表單GET提交後臺資料亂碼問題

    ​在頁面上提交資料到server有兩種方式“GET”和“POST”,當使用“GET”時,傳輸的資料是直接拼接在URL後面的。當資料中含有對HTML來說不安全的字元比如中文時,就會被編碼,一般採用的是UTF-8編碼。這時URL已經被轉義成相對安全的字串。

此時再經過ios-8859-1的編碼方式轉換成二進位制的形式尾隨請求頭一起傳送到server端。

    ​到達server端時,server也對資料進行兩次解碼,server先把資料經過ios-8859-1解碼,然後依據server預設的編碼進行第二次解碼。在tomcat中,預設的編碼是ios-8859-1。所以第二次解碼用的是ios-8859-1而不是UTF-8,到此。server端收到的資料就是亂碼了。

    ​解決辦法是改動tomcat的預設編碼為UTF-8。改動方式例如以下:

    ​在tomcat資料夾下conf中的server.xml中,在connector加上 URIEncoding="UTF-8"就可以。

    ​

    ​