默認狀況下,Tomcat對請求採用的默認編碼是ISO-8859-1, 這樣咱們提交的漢字被認爲是ISO-8859-1的編碼,因此在程序中接收時顯示亂碼 。 在過濾器中調用request.setCharacterEncoding("GBK"),那麼Post上來的漢字將被認爲是GBK編碼,而 Tomcat5對於Get請求上來的編碼並不根據過濾器的設定辨認編碼方式,默認的依然是ISO-8859-1,因此,即便你的頁面使用默認的編碼方式進 行編碼,而後使用ISO-8859-1進行解碼,獲得的結果也不對 。
解決方法:
在TOMCAT中的conf/server.xml中的<Connector中添加兩個設置
useBodyEncodingForURI="true" //設置POST和GET使用相同編碼
URIEncoding="UTF-8" //對URI使用utf-8編碼處理測試
能夠用String提供的編碼轉化測試,請求的參數值:編碼
name = new String(name.getBytes("ISO8859-1"),"UTF-8").trim();spa
System.out.println(" name : " + name)orm