IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理:

原因:

IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台(如 CMD)默认使用GBK编码,新版本(8.5版本之后)的Tomcat 默认编码是 UTF-8,旧版本Tomcat为ISO-8859-1,IDEA默认编码为utf-8,在实际开发中,我们一般采用统一的utf-8编码。

完整排查流程图

方法 1:修改 IntelliJ IDEA 控制台的字符编码

打开 IntelliJ IDEA。

进入 File -> Settings(或 Ctrl + Alt + S)。

在左侧导航栏中,找到 Editor -> File Encodings。

在右侧的 Global Encoding 和 Project Encoding 中,确保编码设置为 UTF-8。

在 Default encoding for properties files 中,也设置为 UTF-8。

点击 Apply 和 OK 保存设置。

配置修改后必须重启 IDEA 才能生效。

方法 2:修改 IntelliJ IDEA 的运行配置

如果你是通过 IntelliJ IDEA 启动 Tomcat,可以在运行配置中指定 JVM 参数。

打开 IntelliJ IDEA。

进入 Run -> Edit Configurations。

选择你的 Tomcat 运行配置。

在 VM options 中添加以下参数:

bash 复制代码
-Dfile.encoding=UTF-8

配置修改后必须重启 IDEA 才能生效。

方法 3:修改 Tomcat 的日志配置文件

通过修改 Tomcat 的日志配置文件来指定日志输出的字符编码。

打开 apache-tomcat\conf\logging.properties 文件。

找到 java.util.logging.ConsoleHandler.encoding 属性,并将其值设置为 UTF-8:

properties 复制代码
java.util.logging.ConsoleHandler.encoding = UTF-8

保存文件并重新启动 Tomcat。

方法 4: 修改 IDEA 启动脚本

在 IDEA 安装目录的 bin 文件夹中:

  1. 编辑 idea64.exe.vmoptions(64位系统)
  2. 末尾添加:
ini 复制代码
-Dfile.encoding=UTF-8
-Dconsole.encoding=UTF-8
相关推荐
eralong8 分钟前
Java 面向对象:继承、多态、接口
java·后端
哦虎!11 分钟前
【数据库】事务
java·数据库·mysql
CDN36021 分钟前
流媒体加速实践:出海东南亚短视频点播频繁缓冲,HLS 分片与 Nginx 配置调优
java·网络·nginx·流媒体加速
程序员黑豆1 小时前
Java中的null与NullPointerException完全指南:安全处理、实战排查与面试题
java·前端·ai编程
晴天161 小时前
Electron面试题-Day19
java·javascript·electron
GeekZHR2 小时前
C语言指针进阶补充6:动态内存管理、mem系列内存函数、复杂指针声明,一次补齐指针的“三大盲区“
java·c语言·算法·指针
侧耳倾听1112 小时前
java 日志框架简介
java·开发语言
小赵AI手记2 小时前
技术拆解(十七)具身智能:机器人动作生成为何走向Diffusion Policy?
人工智能·笔记·python·机器人
上海广测检测科技有限公司2 小时前
投影仪ETL认证技术解读:光源安全评估与测试框架
经验分享
她的男孩2 小时前
我用 LLM 把后台 CRUD 效率提升 10 倍:AI 代码生成器的架构与落地实践
java·后端·架构