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