現象:a.jsp 向 b.jsp 傳中文參數,接收端顯示「??????」。
b.jsp 改 pageEncoding="ISO8859-1",瀏覽器手動切換編碼為 GB2312。此法依賴客戶端操作,不可行。
String name = new String(request.getParameter("name").getBytes("ISO-8859-1"), "GB2312");
原理:Tomcat 預設以 ISO-8859-1 解碼 GET 參數,先取得 byte[] 再用正確編碼重組字串。POST 請求可用 request.setCharacterEncoding("GB2312") 統一處理。