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

avatar 2017年05月05日00:12:56 3 3216 views
博主分享免费Java教学视频,B站账号:Java刘哥 ,长期提供技术问题解决、项目定制:本站商品点此
这里给一个栗子,两个文件。

reg.jsp部分代码
  1. <form action="request.jsp" method="post" name="regForm">
  2.         <table>
  3.             <tr>
  4.                 <td>用户名:</td>
  5.                 <td><input type="text" name="username"  /></td>
  6.             </tr>
  7.             <tr>
  8.                 <td>密码:</td>
  9.                 <td><input type="password" name="password"  /></td>
  10.             </tr>
  11.             <tr>
  12.                 <td>兴趣:</td>
  13.                 <td>
  14.                 <input type="checkbox" name="favorite" value="read"  />读书
  15.                 <input type="checkbox" name="favorite" value="music"  />音乐
  16.                 <input type="checkbox" name="favorite" value="movie"  />电影
  17.                 <input type="checkbox" name="favorite" value="internet"  />上网
  18.                 </td>
  19.             </tr>
  20.             <tr>
  21.                 <td colspan="2"><input type="submit" value="提交"/></td>
  22.             </tr>
  23.         </table>
  24.         <a href="request.jsp?username=张三" target="_blank">测试URL</a>

request.jsp
  1. 用户名:<%=request.getParameter("username") %> <br />
  2. 密码:<%=request.getParameter("password") %> <br />
  3. 兴趣:
  4. <%
  5.     if(request.getParameterValues("favorite")!=null) {
  6.         String []favorites = request.getParameterValues("favorite");
  7.         for(String v:favorites)
  8.             out.println(v+" ");
  9.     }
  10. %>

运行reg.jsp,填写表单信息,如果用户名那里填的是中文,在request.jsp显示将会乱码,因为默认接受的是ISO-8859-1编码,我们这里在request.php里加如下代码可以解决这个中文乱码问题
  1. <%
  2.     request.setCharacterEncoding("utf-8"); //解决中文乱码,无法解决URL传递中文出现的乱码问题
  3. %>

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

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

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

在Connector里加一句 URIEncoding="utf-8" ,像这样
  1. <Connector port="8080" protocol="HTTP/1.1"
  2.               connectionTimeout="20000"
  3.               redirectPort="8443" URIEncoding="utf-8" />



本文地址:http://liuyanzhao.com/3980.html

转载请注明





  • 微信
  • 交流学习,资料分享
  • weinxin
  • 个人淘宝
  • 店铺名:言曌博客咨询部

  • (部分商品未及时上架淘宝)
avatar

发表评论

avatar 登录者:匿名
匿名评论,评论回复后会有邮件通知

  

已通过评论:2   待审核评论数:0
  1. avatar 战略

    文件里的charset=utf-8也要设置

  2. avatar 星空游戏

    很实用