從頁面傳送數據到服務端,出現亂碼的情況及我的解決方法:
2.頁面編碼是utf_8,採用Prototype.js的ajax發送數據到服務端,出現亂碼
var url="action.do?method=query";
var par="name="+name;
new Ajax.Request(url,
{
method: 'post',
parameters:par,
onComplete: function(originalRequest){
var data = eval('(' + originalRequest.responseText + ')'); //轉化爲json
});
方法是 request.setCharacterEncoding("UTF-8")
String name=(String)request.getParameter("name");
name= new String(name.getBytes("ISO-8859-1"), "UTF-8");//解決url亂碼問題
以下是從網上找的資料頁面是utf_8時js的url亂碼解決 :
url=encodeURI(url);
服務器:
String linename = new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");
url=encodeURI(encodeURI(url)); //用了2次encodeURI
服務器:
String linename = request.getParameter(name);
//java : 字符解碼
linename = java.net.URLDecoder.decode(linename , "UTF-8");