第一种方法:
解决方法如下:
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.youkuaiyun.com/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");
keyword 是参数名
本文介绍了两种解决前端向后台传递中文参数时出现乱码的方法。第一种方法是在JavaScript中使用两次encodeURI进行编码,并在服务器端使用URLDecoder进行解码。第二种方法是使用encodeURIComponent进行编码,然后在后台通过特定步骤进行解码。
1836





