從jsp頁面傳參數到servlet,
tomcat默認用的轉碼和解碼的編碼是iso-8859-1,,日常傳英文參數,因此直接接收參數也不會改變值。可是中文不一樣,直接接收的值跟傳的參數是不一致的,爲了解決讓傳過來的參數的值=jsp頁面的那個參數的值(假設從jsp傳參數到servlet),須要在servlet頁面作如下行爲:
//接收jsp頁面傳過來的參數,這個是必須的
String fileName = request.getParameter("filename");
//
轉碼,
String的getBytes()方法是
將一個
字符串
轉化爲用
系統默認的編碼
格式轉換爲一個
字節數組
。
//fileName.getBytes("ISO-8859-1")就是把fileName這個字符串用iso-8859-1這個編碼轉換成一個字節數組
//new String 是構造一個新的 String,方法是使用指定的
字符集
解碼字節的指
定子數組
fileName=new String(fileName.getBytes("ISO-8859-1"),"utf-8");
這樣就能夠獲得不會亂碼的中文參數