关于tomcat乱码和idea中控制台乱码的问题

在使用tomcat的时候,发现在windows的dos命令中输出中文乱码,故设置tomcat的utf-8改为gbk。然后dos命令不乱码了。

在使用idea2023.2版本时候。发现idea的控制台打印乱码。于是又把idea编码和tomcat编码统一成utf-8了,此时控制台没有乱码,但是tomcat打印日志会乱码。对此网上教程很多,例如修改vm options,修改jvm等配置,一通折腾

老版本(如 2023.2.3)中,如果你的系统是 Windows 中文版,IDEA 控制台可能默认使用 GBK 编码,而你的 Tomcat 设置用的是 UTF-8,这就造成:

而我在使用idea2023.3.8版本的时候,发现同样的配置,即为了解决tomcat的乱码问题,我将tomcat设置GBK,此时没有对idea进行修改,idea控制台就没有乱码了。据说是IDEA 2023.3+ 改进了对 JVM 输出编码的自动识别,不过这个需要jdk也比较新,估计要求18即以上版本才行。

此时idea配置没有变动:

从 2023.3 开始,JetBrains 对运行/调试控制台的 输出编码自动匹配机制更智能,可以根据 file.encoding 自动适配控制台字符集。

个人推荐直接升级版本,尤其现在2025年了使用2023.3的版本也不算新,何不使用新版本呢,省的修改一通,可能在修改过程中导致埋下隐藏的问题。

此外,jetbrains也提出了一些解决方案:
在使用 IntelliJ IDEA 时遇到的一些乱码问题的解决方案

展示


对于之前的情况,就是server可以正常显示了,catalina.log就乱码,catalina.log正常了,server就乱码,总是至少一方有问题。现在使用idea2023.3.8+jdk21+tomcat10+设置tomcat的编码为GBK就没有问题了。

相关推荐
天天摸鱼的java工程师11 分钟前
CTO新项目直接上MySQL 8.0,老系统仍是5.7
java·后端·mysql
bxlj_jcj12 分钟前
解锁Java多级缓存:性能飞升的秘密武器
java·缓存·面试·架构
未来并未来14 分钟前
Redis 缓存问题及其解决方案
java·redis·缓存
快乐肚皮34 分钟前
MySQL集群模式详解:架构、优缺点与生产环境选型指南
java·mysql
季鸢1 小时前
Java设计模式之备忘录模式详解
java·设计模式·备忘录模式
异常君1 小时前
Java 逃逸分析:让你的代码性能飙升的秘密
java·面试·代码规范
迢迢星万里灬1 小时前
Java求职者面试:Spring、Spring Boot、Spring MVC与MyBatis技术深度解析
java·spring boot·spring·面试·mybatis·spring mvc
天天摸鱼的java工程师1 小时前
Nacos 2.0 + 为啥非要三个端口?一次踩坑实录
java·后端
SimonKing1 小时前
5分钟了解,Mysql事务隔离级别
java·后端·架构
代码老y1 小时前
基于springboot的图书管理系统的设计与实现
java·vue.js·spring boot·后端·毕业设计·课程设计·个人开发