對於Post請求,只需在Servlet或者jsp中寫入如下代碼就可以把解決從表單中傳入的中文亂碼問題
request.setCharacterEncoding("utf-8");
而對於Get請求,因為請求參數會被附加到地址欄的URL之後,所以不能用上面的處理方法。應該這樣:
String str=request.getQueryString();//使用URLDecoder解碼字符串String str1=java.net.URLDecoder.decode(str,"utf-8");String[] paraStrings=str1.split("&");//paraStrings[0]就是第一個參數,依次類推...for(String paraString : paraStrings){ String[] nameValue=paraString.split("="); //nameValue[0]就是表單的name,nameValue[1]就是表單name對應的值}還有一種方法就是獲取請求參數之後對請求參數值重新編碼,也就是先將其轉換成字節數組,再將字節數組重新解碼成字符串。
String str=request.getParameter("name");byte[] bytes=str.getBytes("ISO-8859-1");String name=new String(bytes,"utf-8");以上這篇完美解決Get和Post請求中文亂碼的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。