Java项目彻底解决中文乱码问题
2018-03-10 16:29
357 查看
spring自带的编码过滤器,在web.xml中配置,如下
![](https://img-blog.csdn.net/20180310160146928?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQWxsZW5fbGl5dQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
spring org.springframework.web.filter下的CharacterEncodingFilter.java编码过滤器源码:
![](https://img-blog.csdn.net/20180310160649717?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQWxsZW5fbGl5dQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
发现其源码相当于servlet里的
request.setCharacterEncoding("UTF-8")
respsose.setCharacterEncoding("UTF-8")
因此spring的自带的过滤器只是针对于post请求的,get请求还是无法过滤为中文编码.
解决get乱码方法一般是数据还原:
![](https://img-blog.csdn.net/20180310161944238?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQWxsZW5fbGl5dQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
但是这种方法必须每个get请求都需要取修改,不方便,因为tomcat默认编码是'iso8859-1',因此我们可以修改tomcat的配置文件更改tomcat的字符编码修改
二. Tomcat字符编码修改
发开conf下面的server.xml,修改代码
[html] view plain copy <Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
修改之后,代码如下:
[html] view plain copy <Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"
useBodyEncodingForURI="true"
/>
这样tomcat对于get请求默认编码就变成了Utf-8了.
总结:这样就能彻底解决项目中的中文乱码问题了,对于Get请求的中文参数,不能在后台进行数据还原,数据会乱码
spring org.springframework.web.filter下的CharacterEncodingFilter.java编码过滤器源码:
发现其源码相当于servlet里的
request.setCharacterEncoding("UTF-8")
respsose.setCharacterEncoding("UTF-8")
因此spring的自带的过滤器只是针对于post请求的,get请求还是无法过滤为中文编码.
解决get乱码方法一般是数据还原:
但是这种方法必须每个get请求都需要取修改,不方便,因为tomcat默认编码是'iso8859-1',因此我们可以修改tomcat的配置文件更改tomcat的字符编码修改
二. Tomcat字符编码修改
发开conf下面的server.xml,修改代码
[html] view plain copy <Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
修改之后,代码如下:
[html] view plain copy <Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"
useBodyEncodingForURI="true"
/>
这样tomcat对于get请求默认编码就变成了Utf-8了.
总结:这样就能彻底解决项目中的中文乱码问题了,对于Get请求的中文参数,不能在后台进行数据还原,数据会乱码
相关文章推荐
- Java彻底解决前端传中文到后台乱码问题的代码
- mysql +java 中文乱码问题彻底理解和解决
- 解决eclipse中java项目导出成jar包后读写UTF-8文件中文乱码问题
- java_javadoc 生成项目文档(设置编码解决中文乱码问题)
- java程序解决中文乱码问题
- 解决Linux下Java控制台中文乱码问题
- 彻底解决PHPMyAdmin中文UTF-8乱码问题
- mysql中文乱码问题彻底解决
- 解决web项目开发中常见的中文乱码问题
- Java读取文件 解决中文乱码问题
- JSP中彻底解决中文乱码的问题
- 解决java中文乱码问题
- 彻底解决PHPMyAdmin中文UTF-8乱码问题
- Java/JSP中文乱码问题解决心得
- Java发送mail功能,解决中文乱码问题
- 彻底解决jsp中文乱码问题(eclips 添加中文编码方式gb2312).
- 彻底解决PHPMyAdmin中文UTF-8乱码问题
- [转]Java/JSP中文乱码问题解决心得
- 初接触JAVA国际化问题-解决JAVA中文字符乱码
- Java中文乱码问题的彻底解决方案