IDEA 终端显示中文乱码或方块,本质是 IDEA 进程编码与操作系统控制台编码不一致。优先检查 IDEA 内置终端设置,若无效再调整 Shell 环境或 VM 参数。
处理建议:优先检查 IDEA 内置编码设置,若无效再修改 VM 启动参数,避免直接改动系统区域设置。
- 适用:Windows 下 CMD 或 PowerShell 环境出现乱码
- 版本:2020.1 及以上版本默认优化,优先检查设置
- 备份:修改 vmoptions 配置文件前务必备份以防启动失败
- 验收:重启 IDEA 后在终端输入中文测试显示
1. 检查 IDEA 终端专属编码设置
新版本 IDEA 提供了终端编码的独立配置项,这是最安全的调整方式。
进入 Settings -> Tools -> Terminal,找到 Default charset 选项。将其显式设置为 UTF-8。如果该选项被勾选或已设置,尝试取消勾选或重置为默认值,观察是否恢复。
2. 调整 Shell 环境编码
IDEA 终端依赖底层 Shell 的编码设置。Windows CMD 默认编码通常为 GBK,而现代开发倾向于 UTF-8。
方案 A:切换 Shell
在 Settings -> Tools -> Terminal 中,将 Shell path 改为 PowerShell 或 Git Bash。这些 Shell 对 UTF-8 支持更好,能减少乱码概率。
方案 B:临时切换代码页(CMD)
若必须使用 CMD,可在终端中输入以下命令临时切换代码页:
chcp 65001
执行后再测试中文显示。注意这只是当前会话生效,关闭窗口后恢复。
3. 修改 VM 启动参数(备选方案)
若界面设置无效,可尝试强制指定 IDEA 进程编码。点击菜单 Help -> Edit Custom VM Options。
在打开的文件末尾新增一行:
-Dfile.encoding=UTF-8
注意:修改前请备份原文件。配置错误可能导致 IDEA 无法启动。若启动失败,请删除该行恢复。
4. 验证与排查
配置完成后,打开 IDEA 底部的 Terminal 窗口进行验证。
验证命令:
echo 测试中文显示
结果判断:
- 若正常显示中文,说明配置生效。
- 若仍显示方块,且在 CMD 环境下,请确认是否已执行
chcp 65001。 - 建议在 PowerShell 中验证,排除 CMD 默认编码干扰。
同时观察 IDEA 右下角状态栏,确认当前文件编码显示为 UTF-8。
5. 常见风险与注意
1. 系统区域更改风险:不要随意在 Windows 设置中更改“非 Unicode 程序的语言”,这可能导致其他旧软件乱码。
2. 配置优先级:VM 选项的优先级通常高于界面设置,如果两者冲突,以 VM 选项为准,修改后务必完全重启 IDEA 而非仅重启项目。
3. Git 钩子干扰:如果项目包含 Git hooks,确保脚本文件本身也是 UTF-8 无 BOM 格式,否则执行时可能报错。