项目中get/post请求中文乱码的解决方案

一.解决get请求中文乱码的方案:

方案(推荐)1:

一般情况下tomcat(8之前)服务器的编码默认是ISO8859-1,所以要对get请求提交的参数进行重新编码:

  •   String userName = new String(request.getParamter("userName").getBytes("ISO8859-1"),"utf-8");

方案(不推荐)2:

既然知道了tomcat服务器的编码默认是ISO8859-1,那么可以修改tomcat的编码格式:在Tomact的conf/server.xml中添加URIEncoding="utf-8" ,如下:

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

二.解决post请求中文乱码的方案:

在项目中web.xml配置文件中加入如下配置可以解决中文乱码的问题: 

  •   <filter>
  •     <filter-name>CharacterEncodingFilter</filter-name>
  •     <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  •     <init-param>
  •       <param-name>encoding</param-name>
  •       <param-value>utf-8</param-value>
  •     </init-param>
  •   </filter>
  •   <filter-mapping>
  •     <filter-name>CharacterEncodingFilter</filter-name>
  •     <url-pattern>/*</url-pattern>
  •   </filter-mapping>

注意:

此处要注意自己的tomcat服务器的版本,如果版本是8之前的版本,编码默认使用的是ISO8859-1,版本是8之后(包括8)编码默认使用的是utf-8,解决了url提交数据的编码问题;所以

tomcat(8之前的版本):使用如上过滤器(post)+get(转码)即可解决中文乱码的问题;

tomcat(8之后的版本):使用如上过滤器(post)即可解决中文乱码的问题;

转载于:https://www.cnblogs.com/chang-jiuyue/p/9296625.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值