大家好,又见面了,我是你们的朋友全栈君。
一、默认解决方法
无论Google还是百度,多数解决方法是server.xml设置URIEncoding=“UTF-8”。
代码语言:javascript复制<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
二、接口乱码
在catalina.bat 头部增加 -Dfile.encoding=UTF-8
/bin/catalina.bat
set JAVA_OPTS=-Xms512m -Xmx4024m -XX:MaxPermSize=1024m -Dfile.encoding=UTF-8
三、tomcat本地日志乱码
这日志是tomcat他自身输出的日志
/conf/logging.properties
java.util.logging.ConsoleHandler.encoding = UTF-8
四、项目日志乱码
项目日志是项目通过logback、sft4j包输出日志的
下面的是针对logback的举例:
在ConsoleAppender(输出日志)里添加日志编码
代码语言:javascript复制<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
<charset>GBK</charset>
</encoder>
显示效果
代码语言:javascript复制<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
<charset>GBK</charset>
</encoder>
</appender>
<logger name="com.tip" level="debug">
<appender-ref ref="stdout"/>
</logger>
</configuration>
五、页面解析乱码
jsp解析页面乱码,需要在头部添加
<%@ page contentType=”text/html;charset=UTF-8″%>
六、页面传输到后台乱码问题
对POST方式提交的数据做编码转换,对GET方式提交的数据需要在应用服务器中配置URIEncoding=”utf-8″
代码语言:javascript复制<filter>
<description>对POST方式提交的数据做编码转换,对GET方式提交的数据需要在应用服务器中配置URIEncoding="utf-8"</description>
<filter-name>SpringEncodingFilter</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>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
注意:
tomcat7和tomcat8 编码不同的问题
tomcat7和tomcat8 他们两个的默认编码有所改变
* Tomcat7对URI默认编码是ISO-8859-1
* Tomcat8对URI默认编码是UTF-8
引用:
https://blog.csdn.net/u014746965/article/details/50267561
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。