首页 > Web开发 > 详细

jsp乱码问题

时间:2014-03-27 02:53:28      阅读:487      评论:0      收藏:0      [点我收藏+]

jsp乱码一直是一个困扰我的问题,今天经过百度找到了比较有效的解决方式,总结如下:


   第一步:配置编码过滤器,在doFilter()中设置request.setCharacterEncoding("UTF-8");这种过滤一般只是对post方式提交的数据有效,所以有下一步;


   第二步:设置在jsp页面设置post提交方式(似乎有点废话,呵呵);至此以post方式提交数据的乱码问题几乎都可以解决了。


   get方式提交数据比较麻烦,这是因为Tomcat对get和post两种提交方式的处理方法不一样造成的。自从Tomcat5.x开始,GET和POST方法提交的信息,Tomcat采用了不同的方式来处理编码,对于POST请求,Tomcat会仍然使用request.setCharacterEncoding方法所设置的编码来处理,如果未设置,则使用默认的iso-8859-1编码。而GET请求则不同,Tomcat对于GET请求并不会考虑用request.setCharacterEncoding方法设置的编码,而是一直使用ISO-8859-1编码。

对于方式提交数据有以下两种解决方式:

第一种:配置tomcat的配置文件server.xml里这句:
               <Connector URIEncoding="GB2312"
                port="8080"   maxHttpHeaderSize="8192"
              maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
              enableLookups="false" redirectPort="8443" acceptCount="100"
              connectionTimeout="20000" disableUploadTimeout="true" />


                加上这句:URIEncoding="GB2312"

第二种:String username=new String(request.getParameter("username").getBytes("iso-8859-1"),"UTF-8");

一般推荐使用第二种方式。

红色字体一下的部分借鉴于博客:jsp中Get提交方式的中文乱码解决办法  

jsp乱码问题,布布扣,bubuko.com

jsp乱码问题

原文:http://6883741.blog.51cto.com/6873741/1384751

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!