从页面传送数据到服务端,出现乱码的情况及我的解决方法:
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");