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");