JSP request.getParameter() 亂碼解決方法

如果送出該 Form 網頁的 ContentType 為 utf-8,Tomcat 作成 request 物件時,會將 utf-8 編碼的中文參數值 user
先轉碼為 iso-8859-1,存入到 request 物件裡,所以你就必須做如下 ISO-8859-1 到 utf-8 的轉碼,將之還原成正確
的 utf-8 編碼:

String user = new String(request.getParameter("user")
                                .getBytes("ISO-8859-1"), "utf-8");

同理... 如果送出該 Form 網頁的 ContentType 為 big5,Tomcat 作成 request 物件時,會將 big5 編碼的中文參數值
user 先轉碼為 iso-8859-1,存入到 request 物件裡,所以你就必須做如下 ISO-8859-1 到 big5 的轉碼,將之還原成
正確的 big5 的轉碼:

String user = new String(request.getParameter("user")
                                .getBytes("ISO-8859-1"), "big5");

 

參考資料:http://eoffice.im.fju.edu.tw/phpbb/viewtopic.php?p=29212