js,java中文转码URL传参
解决方法如下:
1、在JS里对中文参数进行两次转码
var login_name = document.getElementById("loginname").value;
login_name = encodeURI(login_name);
login_name = encodeURI(login_name);
2、在服务器端对参数进行解码
String loginName = ParamUtil.getString(request, "login_name");
loginName = java.net.URLDecoder.decode(loginName,"UTF-8");
具体请见http://blog.csdn.net/Seven_23/archive/2009/09/02/4510670.aspx
第二种方法:
前台login_name = encodeURIComponent(login_name); 这样的 编码一次
action中
String temp = new String(keyword.getBytes("ISO-8859-1"),"utf-8");
keyword = URLDecoder.decode(temp, "utf-8");