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 中添加以下参数:
-Dfile.encoding=UTF-8
配置修改后必须重启 IDEA 才能生效。
方法 3:修改 Tomcat 的日志配置文件
通过修改 Tomcat 的日志配置文件来指定日志输出的字符编码。
打开 apache-tomcat\conf\logging.properties 文件。
找到 java.util.logging.ConsoleHandler.encoding 属性,并将其值设置为 UTF-8:
java.util.logging.ConsoleHandler.encoding = UTF-8
保存文件并重新启动 Tomcat。
方法 4: 修改 IDEA 启动脚本
在 IDEA 安装目录的 bin
文件夹中:
- 编辑
idea64.exe.vmoptions
(64位系统) - 末尾添加:
-Dfile.encoding=UTF-8
-Dconsole.encoding=UTF-8