$.post jquery提交中文参数服务端获取的参数成乱码问题
对传输的中文参数进行编码
var namecon = encodeURIComponent($("#idName").val());
$.post("selectresult.do?method=selectExecute4",
{
"pageSize":pageSize,
"num":$("#num").val(),
"idnum":$("#idnum").val(),
"name":namecon,
"selecttype":$("#selectType").val()
},
function(data){
$("#r-r").html(data);
}, "text");
}
在服务器端:获取参数
String name= URLDecoder.decode(selectbean.getName(), "UTF-8");
2.
JS中的encodeURI()一定会将中文按照UTF-8编码,所以如果传递的参数经过encodeURI编码发送给服务器,那么在服务器端的解码必须指定UTF-8字符集
即 request. setCharacterEncoding(“UTF-8”),然后再从request中获取字符串就可以了
3.只需要转码一次服务器端,ajax客户端可以直接跟参数
menuName = (menuName==null?"":new String(menuName.getBytes("ISO-8859-1")));