关于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就没有问题了。

相关推荐
luv_sw9 小时前
JavaSE-面向对象-抽象类和接口
java
TracyCoder1239 小时前
MySQL 实战宝典(八):Java后端MySQL分库分表工具解析与选型秘籍
java·开发语言·mysql
wasp5209 小时前
做了技术管理后,我发现技术和管理其实可以兼得
java·运维·网络
MarkHD9 小时前
车辆TBOX科普 第45次
java·开发语言
okseekw9 小时前
字面量的初步认识
java
倚肆10 小时前
Spring Boot CORS 配置详解:CorsConfigurationSource 全面指南
java·spring boot·后端
q***721910 小时前
Spring Boot(快速上手)
java·spring boot·后端
CoderYanger10 小时前
C.滑动窗口——1423. 可获得的最大点数
java·开发语言·算法·leetcode·1024程序员节
Swift社区10 小时前
StackOverflowError 栈溢出的原因与实战解决方案
java·spring boot·spring
字节拾光录11 小时前
手机号存储避坑指南:从20亿级数据库实践看,为什么VARCHAR才是终极答案
java·数据库·oracle