方法一:
$.ajax({
url:"fCusAddiInfoController.do? datagrid&fsname="+fsName+"&fsYear="+escape(fsYear),
data : {},
dataType : 'json',
success : function(response) {
if (response && response.success) {
$("#mhdxList").datagrid("reload");
$.messager.show({
title : '提示',
msg : response.msg
});
} else {
$.messager.show({
title : '提示',
msg : response.msg
});
}
}
});
这段代码是通过ajax发送请求, 其中fsName 传递的是中文, 在后台解析之后发现出现了乱码, 那么遇到这种情况我们该怎么处理呢?我个人的经验是:先在前台用encodeURI方法对中文进行2次编码, 然后再后用 URLDecoder.decode对接收过来的参数进行中文解码, 之后就可以解绝常见的中文乱码的问题了
$.ajax({url:"fCusAddiInfoController.do? datagrid&fsname="+encodeURI(encodeURI(fsName))+"&fsYear="+escape(fsYear),
data : {},
dataType : 'json',
success : function(response) {
}
});
后台代码: String username = URLDecoder.decode(request.getParameter("fsName"),"UTF-8");
方法二:
- String name = request.getParameter("name");
- name = new String(name.getBytes("ISO-8859-1"), "UTF-8");