1.在tomcat下的server.xml中插入如下**
uriencoding="utf-8" usebodyencodingforuri="true"
connectiontimeout="20000"
redirectport="8443" />
2.對jsp頁面js中要傳遞引數進行加密
encodeuri(param)
2.action中編寫
request.setcharacterencoding("utf-8");
new string(urldecoder.decode(param).getbytes("iso-8859-1"),"utf-8")(不需要)
以下拷貝
jsp中
var num = $("#txtnum").val();
var name = encodeuricomponent($("#txtname").val());
var classname = encodeuricomponent($("#selectclasses option:selected").text());
action中
stu.setnum(urldecoder.decode(num, "utf-8"));
stu.setname(urldecoder.decode(name, "utf-8"));
stu.setclassname(urldecoder.decode(classname, "utf-8"));
一般在post中struts過濾器會自動處理。而在get中,需要這樣操作。
原理:
encodeuricomponent是js內建函式,是將中文韓文等特殊字元轉換成utf-8格式的url編碼。
如果給後台傳遞引數需要使用encodeuricomponent時,需要後台解碼對utf-8支援
還要注意的是form中的編碼方式和當前頁面編碼方式相同。
Post,GET中文傳值亂碼問題
正常情況下,url傳值前對中文進行編碼,然後接受頁面作對應的解碼。即使不對含有中文的url編碼,接受頁面也能正確獲取引數值,因為預設編碼為utf 8。post傳值包含中文也正常 專案中有時webconfig設定,或者頁面上設定gb2312編碼方式,若編碼與解碼不統一,很容易造成亂碼的問題。utf 8...
文章標題 java 中文傳值亂碼問題
一般編碼格式設定 1.可以經過兩次編碼處理,即設定字符集後,在插入前解碼字符集,也是最有效的方式 設定字符集 string value null try catch unsupportedencodingexception e 解碼字符集 string value null try catch un...
url 中文傳參 亂碼問題
開發一直用firfox網頁,除錯什麼的都很方便。所以遇到了瀏覽器之間的相容問題。url中文傳參。問題 前台用url傳值中文,後台用request.getparameter接收引數。用firfox,chrome等沒有問題。用ie會出現接參亂碼現象。上網查了一下,算了,還是把原文帖上來吧。比較容易懂。讓...