IntelliJ IDEA 中文乱码需全链路统一 UTF-8 编码:①三处文件编码(Global、Project、Properties)均设为 UTF-8;②Java 编译器添加 -encoding UTF-8 参数或配置 Maven sourceEncoding;③终端改用 UTF-8 兼容 Shell 并设置输出编码;④Git 启用 core.quotePath false 和 core.precomposeUnicode true。
IDEA 默认编码不是 UTF-8?改它
IntelliJ IDEA 新建项目时,File Encoding 很可能默认是 GBK(Windows)或 UTF-8(macOS/Linux),但项目实际读取源码时若编码不一致,会出现中文乱码、编译报错(如 Illegal character: '\uFFFD')、注释变方块等问题。
必须统一三处编码设置:
-
Settings > Editor > File Encodings > Global Encoding→ 设为UTF-8 -
Settings > Editor > File Encodings > Project Encoding→ 设为UTF-8 -
Settings > Editor > File Encodings > Default encoding for properties files→ 设为UTF-8(否则application.properties中中文会乱码)
改完后,已打开的文件右下角会显示当前编码,点击可临时转换;建议勾选 Transparent native-to-ascii conversion,让 IDEA 自动把 .properties 文件里的中文转成 \u4f60\u597d 形式,避免运行时报错。
Java 编译器编码不匹配?加参数
即使 IDEA 界面设了 UTF-8,javac 编译器仍可能用系统默认编码读源码。尤其 Windows 上 JDK 默认用 GBK,会导致 String s = "你好"; 编译失败。
立即学习“Java免费学习笔记(深入)”;
解决方法是强制指定编译编码:
-
Settings > Build > Compiler > Java Compiler > Additional command line parameters→ 填入-encoding UTF-8 - 或者在 Maven 项目中,确保
pom.xml里有:UTF-8
注意:Maven 的 sourceEncoding 只影响 Maven 插件(如 maven-compiler-plugin),不影响 IDEA 内置编译器,所以两者都要配。
终端(Terminal)输出中文乱码?连带调
IDEA 内置 Terminal 运行 Java 程序时,如果控制台打印中文是乱码(如 ???),不是代码问题,而是终端本身编码没对齐。