必须统一Global/Project/Properties三处编码为UTF-8,配置Java编译器参数-encoding UTF-8,批量Convert已有文件,并补充Tomcat、Git及VM选项设置。

在 IntelliJ IDEA 中全局统一修改 Java 项目文件编码,核心是确保三处编码设置一致,并配合编译器参数和文件转换动作。只改一处,往往无效——比如只设 Project Encoding,新建文件仍可能是 GBK;只调界面显示,源文件实际编码没变,编译照样报错。
一、统一三项基础编码设置
打开 File → Settings(Windows/Linux)或 IntelliJ IDEA → Preferences(macOS),进入:
Editor → File Encodings
-
Global Encoding:设为
UTF-8(影响新创建的项目、未归属项目的文件) -
Project Encoding:设为
UTF-8(决定当前项目新建 .java/.xml 等文件的默认编码) -
Default encoding for properties files:设为
UTF-8,并务必勾选 Transparent native-to-ascii conversion(否则 application.properties 或 messages_zh_CN.properties 中的中文会被错误读取,运行时显示为 ? 或 \uXXXX)
二、强制编译器用 UTF-8 解析源码
IDEA 界面设成 UTF-8,不等于 javac 编译器也用 UTF-8 读源文件。尤其 Windows 下 JDK 默认按 GBK 解析,会导致 String s = "你好"; 编译失败,报错 error: unmappable character。
- 进入 Build, Execution, Deployment → Compiler → Java Compiler
- 在 Additional command line parameters 中填入:
-encoding UTF-8 - 如果是 Maven 项目,还需在
pom.xml中声明:<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties>
(注意:Maven 的设置不影响 IDEA 内置编译器,所以两者都要配)
三、批量转换已有乱码文件
设置完编码后,已存在的 GBK 文件不会自动重编码,右下角会显示当前编码(如 GBK),点击它可手动处理:
- 对单个文件:右下角点击编码名 → 选 Convert(不是 Reload)→ 确认转换,文件内容将被按新编码重写
- 对整个项目/模块:先用 Ctrl+Shift+F(Find in Path)搜索
.*\.(java|xml|properties|html),勾选 File mask,结果列表中全选 → 右键 → File Encoding → Convert to UTF-8 - 转换前建议备份,或启用 Git 提交前检查,避免误操作导致不可逆乱码
四、补充关键环节(防遗漏)
有些场景容易忽略,但一出问题就难定位:
立即学习“Java免费学习笔记(深入)”;
-
Tomcat 控制台乱码:在 Run/Debug Configurations → Tomcat Server → Server → VM options 中添加:
-Dfile.encoding=UTF-8 -
Git 提交避免路径乱码:终端执行:
git config --global core.quotePath falsegit config --global core.precomposeUnicode true -
IDEA 启动级编码(极少数情况需要):编辑
idea64.exe.vmoptions(Windows)或idea.vmoptions(macOS/Linux),末尾加一行:-Dfile.encoding=UTF-8


















