在项目中经常会存在通过JS去请求操作的事件发生,而这些请求的url链接又通常会使用到中文。
而这些中文在JS中可以正常alert出来,但是提交给后台时就显示成乱码了。
这里提供一个解决方案,基本原理就是在JS中将中文转码成URI方式,如下:
js页面:
function doAdd(teamId,name){ //name为中文
name = encodeURI(encodeURI(name));//防止中文乱码,进行两次编码
openwin('tableAdd.jsp?teamId='+teamId+"&tname="+name,'',1080,600);
}
后台处理:
String tname = request.getParameter("tname");
tname = java.net.URLDecoder.decode(tname, "utf-8"); //进行解码