jsp 的url传参中文乱码问题解决办法

在js文件中,使用连接jsp的url传参,如果参数是中文会出现乱码问题,如下可以解决:

方法一:(已确认 可行)

String username = new String(request.getParameter("username ").getBytes("iso8859-1"),"gb2312或utf-8");

方法二:(有待确认)

js部分:

window.location.href = "a.jsp?name=武大郎"

JSP部分:

<%

String name = request.getParameate("name");

%>

如上所述,name会是一串乱码。

正确的写法:

js部分:

var name = encodeURI(encodeURI('武大郎'));//注意:是两次转码

window.location.href = "a.jsp?name="+name;

JSP部分:

<%@import="java.net.*"%>

<%

String name = request.getParameate("name");

name = URLDecoder.decode(name,"UTF-8");

%>

如上:name取值正确。

我在IBM工作,可以为大家内部推荐IBM各种职位 IBM全球职位尽在以下链接(请在浏览器中打开,QQ/微信 会阻止): http://ibmreferrals.com/ 很乐意为感兴趣的小伙伴分享:我的面试经验^_^ 如需咨询,请邮件发送以下邮箱,有问必回 1026096425@qq.com
原文地址:https://www.cnblogs.com/jackydalong/p/3171846.html