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");

你可能感兴趣的:(java)