java代码设置tomcat编码_更改Tomcat字符编码设置及解决post请求中文字符乱码

17270ce95af85a4a2d33846cd5831d99.png

当你在web.xml中配置了字符编码设置,可是请求url中的中文字符仍然乱码,很可能的原因就是Tomcat的字符编码配置问题,具体的解决办法如下。

默认编码

如果没有指定字符编码,Servlet规范规定使用”ISO-8859-1″作为默认的编码。

Get请求

如果是get请求,我们可以通过更改Tomcat目录下,conf/server.xml中的Connector中指定 URIEncoding=”UTF-8″ 参数,具体修改内容如下:

connectionTimeout="20000"

redirectPort="8443" URIEncoding="UTF-8" />

Post请求

Post请求需要指定它发送的参数和值的编码。因为大多数客户端并没有设置一个明确的编码,默认采用的是ISO-8859-1。大多数情况下,这并不是我们想要的编码,我们可以使用过滤器来进行控制,Tomcat已经提供了完成这个功能的过滤器的例子或者内置了。请参看:

webapps/examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java

webapps/servlets-examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java

webapps/jsp-examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java

webapps/examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java

setCharacterEncodingFilter

org.apache.catalina.filters.SetCharacterEncodingFilter

encoding

UTF-8

setCharacterEncodingFilter

/*

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值