您的位置:首页 > Web前端 > JavaScript

Jsp链接传值中文乱码问题解决

2017-05-25 18:48 447 查看
这里给一个栗子,两个文件。

reg.jsp部分代码

<form action="request.jsp" method="post" name="regForm">
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="username"  /></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="password"  /></td>
</tr>
<tr>
<td>兴趣:</td>
<td>
<input type="checkbox" name="favorite" value="read"  />读书
<input type="checkbox" name="favorite" value="music"  />音乐
<input type="checkbox" name="favorite" value="movie"  />电影
<input type="checkbox" name="favorite" value="internet"  />上网
</td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="提交"/></td>
</tr>
</table>
<a href="request.jsp?username=张三" target="_blank">测试URL</a>


request.jsp

用户名:<%=request.getParameter("username") %> <br />
密码:<%=request.getParameter("password") %> <br />
兴趣:
<%
if(request.getParameterValues("favorite")!=null) {
String []favorites = request.getParameterValues("favorite");
for(String v:favorites)
out.println(v+" ");
}
%>


运行reg.jsp,填写表单信息,如果用户名那里填的是中文,在request.jsp显示将会乱码,因为默认接受的是ISO-8859-1编码,我们这里在request.php里加如下代码可以解决这个中文乱码问题

<%
request.setCharacterEncoding("utf-8"); //解决中文乱码,无法解决URL传递中文出现的乱码问题
%>


当然,文件里的charset=utf-8也要设置。

但是,上面的代码只能解决表单提交时中文乱码问题,如果我们点reg.jsp的“测试URL”链接,还是会出现中文乱码,于是将介绍下面这个方法,也很简单,彻底。

在Tomcat安装目录下,打开conf文件夹,打开里面的server.xml文件

在Connector里加一句 URIEncoding=”utf-8” ,像这样

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="utf-8" />


本文链接:http://liuyanzhao.com/3980.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: