useBodyEncodingForURI="true"解决Tomcat乱码问题

  之前在帮忙做一个项目的时候,用的是Eclipse+Tomcat,统一用的是UTF-8编码格式,发现从前台传入的中文参数到后台老是出现乱码(只有我才出现了错误,其他成员没有)。出现问题后检查Eclipse的编码设置后均没有问题,于是怀疑可能是Tomcat导致的问题。后来发现我的Tomcat和他们的不一样,换成他们用的Tomcat后乱码问题就没有了!我很纳闷,为什么会这样呢,我明明是从Apache官网下载的,我很不理解!经过一段时间在网络上的搜索,发现将Tomcat目录下的server.xml文件的useBodyEncodingForURI设置为"true"可能可以解决问题,于是在

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"  redirectPort="8443" />中加入useBodyEncodingForURI="true"后问题得到圆满解决!!!

  问题终于解决了,感觉很舒畅,必须充分利用网络搜索功能,有时真的可以省很多时间和麻烦,呵呵!下面是我搜索到的解决Tomcat下乱码的方法,仅供以后参考:

  

1、 对于同一个应用,最好统一编码,推荐为UTF-8,当然GBK也可以。  

2、 正确设置JSP的pageEncoding参数  

3、 在所有的JSP/Servlet中设置contentType="text/html;charset=UTF-8"或response.setCharacterEncoding("UTF-8"),从而间接实现对浏览器编码的设置。  

4、 对于请求,可以使用过滤器或者在每个JSP/Servlet中设置request.setCharacterEncoding("UTF-8")。同  

时,要修改Tomcat的默认配置,推荐将useBodyEncodingForURI参数设置为true,也可以将URIEncoding参数设置为  

UTF-8(有可能影响其他应用,所以不推荐)。  



转载于:https://www.cnblogs.com/jouzian/archive/2013/02/28/2936383.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值