js url传值中文乱码之解决之道

时间:2022-03-15 20:11:05
因为js url在传值的过程中使用的是js自己默认的字符集编码规则,我们必须把它转成属于我们自己的编码规格。首先,将页面都设为“UTF-8”编码格式。
方法一: 
js 程序代码:
url=encodeURI(url);      //注意是整个URL  服务器端的代码: String linename = new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8"); 
方法二:
js程序代码
var url="name="+name; 
url=encodeURI(encodeURI(url)); //用了2次encodeURI
window.location = "<%=path%>/inner/line/line.jsp?"+url;

服务器端的代码: 
String linename = request.getParameter(name); 
//java : 字符解码
linename = java.net.URLDecoder.decode(linename , "UTF-8");