Ajax提交表單中文亂碼的一種解決方法

如下爲表單提交代碼:

createXMLHttpRequest();
xmlHttp.onreadystatechange=callback;
var url="registercheck?userName="+userName+"&password="+pass+"&realName="+realName+"&sex="+sex+
"&birthday="+date+"&id="+id+"&email="+email+"&tel="+tel+"&address="+address+"&checkstr="+checkstr;
xmlHttp.open("post",url);
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=utf-8");

其中realName和address可能是中文字符串,提交到servlet插入數據庫時發現變成亂碼,網上搜索一番,有網友提到對url進行兩次編碼:

url=encodeURI(encodeURI(url));

再在servlet進行解碼還原:

realName=java.net.URLDecoder.decode(realName, "UTF-8");

即可解決問題。

發佈了35 篇原創文章 · 獲贊 12 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章