Idea中tomcat控制台日志中文乱码问题

先检查idea的文件格式,这个一般在导入项目前都提前设置好了的。
image

1.刚启动时的中文乱码

image

(1)tomcat目录下,conf/web.xml文件

	<servlet>
        <servlet-name>default</servlet-name>
        <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
        <init-param>
            <param-name>debug</param-name>
            <param-value>0</param-value>
        </init-param>
        <!--添加utf-8声明-->
		<init-param>
			<param-name>fileEncoding</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
        <init-param>
            <param-name>listings</param-name>
            <param-value>false</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

(2)tomcat目录下,conf/server.xml文件
添加URIEncoding="UTF-8"

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

2.与后台数据交互的中文乱码

image

启动项添加-Dfile.encoding=UTF-8
image


更新
最近使用2024.1.7版本,上述设置会导致中文变成繁体乱码。
参考以下方法:
先查看电脑编码格式

PS C:\Users\admin> chcp
活动代码页: 936

修改tomcat/conf下logging.properties文件
修改为GBK,只需要修改这一处即可,不要使用上述方法

1catalina.org.apache.juli.AsyncFileHandler.level = FINE
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
1catalina.org.apache.juli.AsyncFileHandler.encoding = GBK

2localhost.org.apache.juli.AsyncFileHandler.level = FINE
2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.
2localhost.org.apache.juli.AsyncFileHandler.encoding = GBK

3manager.org.apache.juli.AsyncFileHandler.level = FINE
3manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
3manager.org.apache.juli.AsyncFileHandler.prefix = manager.
3manager.org.apache.juli.AsyncFileHandler.encoding = GBK

4host-manager.org.apache.juli.AsyncFileHandler.level = FINE
4host-manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.
4host-manager.org.apache.juli.AsyncFileHandler.encoding = GBK

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter
java.util.logging.ConsoleHandler.encoding = GBK
posted @ 2026-02-03 15:03  开心就好'  阅读(2)  评论(0)    收藏  举报