1. 程式人生 > >解決請求引數的中文亂碼問題(get、post)

解決請求引數的中文亂碼問題(get、post)

2018-11-28

       在web請求與響應中,會遇到亂碼問題,比如填寫表單資料時,難免會輸入中文,姓名、公司名稱等。由於HTML設定了瀏覽器在傳遞請求引數時,採用的編碼方式是UTF-8,但在解碼時採用的是預設的ISO8859-1,因此會導致亂碼的出現。

       實現步驟:

     (1)設定編碼方式

在HttpServletRequest介面中,提供了一個setCHaracterEncoding()方法,該方法用於設定request物件的解碼方式。request.setCharacterEncoding("UTF-8");

     (2)但是上面的方法只適用post方式提交的表單,為了應對get方式出現中文亂碼問題,所以需要另一種方式解決,也就是最原始的方法:

String username = request.getParameter("username");//亂碼
先用iso8859-1編碼 在使用utf-8解碼
username = new String(username.getBytes("iso8859-1"),"UTF-8");