Tomcat运行日志乱码问题/项目用tomcat启动时窗口日志乱码

本文描述了项目在Tomcat启动时遇到的日志乱码问题,原因是编码不一致。解决方法包括修改server.xml和logging.properties文件的编码设置。然而,遗留问题是IDEA启动时可能需要不同编码。期待更多解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、问题描述:

项目在idea中运行时日志是正常的,用Tomcat启动时发现一大堆看不懂的文字,如
在这里插入图片描述

二、产生原因

产生乱码的根本原因就是编码和解码不一致,举个例子就是翻译的人与写文章的人用的不同的语言。比较常见的编码格式有Unicode、Ascll码、GBK、UTF-8等等,我们普遍用的都是UTF-8等等。

原因:Tomcat控制台编码格式和系统控制台编码格式不一致,Tomcat控制台默认编码格式是UTF-8,系统控制台默认编码格式是gbk。将编码格式修改成一致即可解决。

三、解决方法

  • 1)打开tomcat的/conf/server.xml,给它显示的增加编码方式
<Connector connectionTimeout="20000" 
		port="8080" protocol="HTTP/1.1" 
		redirectPort="8443" URIEncoding="UTF-8"/>
  • 2)将日志的编码格式也修改一下,打开tomcat的\conf\logging.properties

如果logging.properties文件中的java.util.logging.ConsoleHandler.encoding属性是UTF-8则修改为GBK, 反之修改为UTF-8

在这里插入图片描述

重启项目,问题解决
在这里插入图片描述

四、遗留问题/后续问题

将tomcat的\conf\logging.properties文件中的java.util.logging.ConsoleHandler.encoding属性修改为GBK虽然能解决Tomcat控制台日志打印正常,但是在idea中启动项目时日志又会乱码,所以当用idea启动时又需要修改ConsoleHandler.encoding属性修改为UTF-8, 目前没找到能同时解决这两个乱码的。

也期待其他大佬有一些解决方法能告知一下。谢谢!

### Tomcat启动时日志乱码的解决方案 #### 1. 修改Tomcat服务器配置 在Tomcat的`conf/server.xml`文件中,找到连接器(Connector)部分并添加属性`URIEncoding="UTF-8"`。此操作可以确保URL中的字符编码被正确解析为UTF-8[^1]。 ```xml <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/> ``` 此外,在Tomcat主目录下的`conf/logging.properties`文件中,查找`java.util.logging.ConsoleHandler.encoding`字段,并将其值设置为`UTF-8`。如果当前值不是`UTF-8`,则需要手动修改以匹配所需的编码格式[^2]。 #### 2. 配置IDEA项目的编码方式 对于IntelliJ IDEA开发环境,可以通过以下步骤统一整个项目的编码方式至UTF-8: - 打开IDEA的全局设置窗口,导航到 `File -> Settings -> Editor -> File Encodings`。 - 将`Global Encoding`、`Project Encoding`以及`Default encoding for properties files`均设为`UTF-8`。 完成上述更改后保存设置并重新启动IDEA,以便使新的编码配置生效。 #### 3. 替代方案——调整Console Handler编码 另一种方法是在`logging.properties`文件中将`java.util.logging.ConsoleHandler.encoding`字段改为`GBK`来适配某些特定场景下的中文显示需求[^3]。然而需要注意的是,这种方法可能会影响其他非GBK兼容的日志记录内容准确性。 ```properties java.util.logging.ConsoleHandler.encoding = GBK ``` 以上三种策略可以根据实际应用场景单独或者组合使用,从而有效解决Tomcat启动过程中遇到的日志乱码现象。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五月天的尾巴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值