关于Tomcat的URIEncoding以及GET乱码设置UTF-8

前段时间没事把目前JETTY服务器的内容,拷到相应的TOMCAT服务器当时进行测试,功能方便到是没有发现任务问题,但发现解很多传递过程中出现了乱码,因为JETTY当中没有问题,哪么首先就想到了相应的TOMCAT的Eoncoding的设置。

 

1、对于GET请求

设置编码的一个比较有效的方式是修改Tomcat的server.xml文件:

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

 

添加URIEncoding="UTF-8"属性,这样就可以将GET请求的request编码格式设置为UTF-8。

 

 

2、对于POST请求

设置

request.setCharacterEncoding("UTF-8");  

 全部搞定!

 

 

注意,如果你什么都不设置的话,也就说你使用Tomcat默认的ISO-8895-1编码,那么,可以通过如下方式获得UTF-8编码的中文:

String param=new String(request.getParameter("param-name").getBytes("ISO-8859-1"),"UTF-8"); 

 

当然啦,如果页面传过来的中文是使用GBK或者GB2312编码的,那么只需要把上面那行代码的UTF-8换成GBK或者GB2312就行了~

 

 

参考网站:

1、Tomcat UTF-8 乱码问题解决办法(非常好!强烈推荐!)

2、设置Tomcat的UTF-8编码

 

为什么一直拿UTF-8举例子呢?因为网上的前辈们强烈推荐使用UTF-8建站:就是说,全站都使用UTF-8编码!这样可以减少很多繁琐的编码格式转换!

珍爱生命,远离编码格式转换!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值