最近在 Windows 环境下使用 Codex / AI Coding 工具(如 Copilot、Cursor、Claude Code 等) 时,我遇到了一个非常烦人的问题:
AI 修改代码后,IDEA 中的中文全部变成乱码。
例如:
csharp
// 原本代码
System.out.println("用户登录成功");
// AI修改后
System.out.println("鐢ㄦ埛鐧诲綍鎴愬姛");
刚开始我以为是 AI 工具的问题,但深入排查后发现:
根本原因其实是 Windows 编码体系的问题。
这篇文章将带你 彻底解决 Windows + IDEA + AI 编程的中文乱码问题。
一、问题复现
典型场景:
1️⃣ Windows 系统
2️⃣ 使用 Codex / AI 工具修改代码
3️⃣ 在 IDEA 中打开文件
结果:
中文全部乱码
例如:
鍔熻兘娴嬭瘯
鐧诲綍鎴愬姛
二、真正的原因
问题的根源是 编码不统一。
Windows 默认编码是:
css
GBK (Code Page 936)
而现代工具默认编码是:
UTF-8
典型冲突链路:
scss
AI工具 (UTF-8 写入文件)
↓
Windows 终端 (GBK)
↓
IDEA 按 GBK 读取
↓
中文乱码
所以本质是:
UTF-8 和 GBK 编码冲突。
解决方法其实很简单:
统一编码为 UTF-8。
三、解决方案(推荐按顺序操作)
1 IDEA 统一编码
打开:
arduino
File → Settings → Editor → File Encodings
修改为:
yaml
Global Encoding: UTF-8
Project Encoding: UTF-8
Default encoding for properties files: UTF-8
建议勾选:
css
Transparent native-to-ascii conversion
这样 IDEA 打开和保存文件都会使用 UTF-8。
2 修改 IDEA JVM 默认编码
打开:
scss
Help → Edit Custom VM Options
也就是:
编辑自定义虚拟机选项
然后在文件末尾加入:
ini
-Dfile.encoding=UTF-8
例如:
diff
-Xms128m
-Xmx2048m
-Dfile.encoding=UTF-8
保存并 重启 IDEA。
这样 IDEA 的 JVM 运行环境也统一成 UTF-8。
3 修改 Windows 终端编码
Windows CMD 默认是:
scss
GBK (936)
临时解决方法:
chcp 65001
65001 就是 UTF-8。
推荐做法
直接使用 PowerShell 7
安装:
winget install Microsoft.PowerShell
启动:
pwsh
PowerShell 7 默认就是 UTF-8。
4 如果仍然乱码
删除项目中的文件:
bash
.idea/encodings.xml
IDEA 有时候会记录文件编码,导致冲突。
删除后重新打开项目即可。
四、一劳永逸的最佳配置
建议开发环境统一:
| 工具 | 编码 |
|---|---|
| IDEA | UTF-8 |
| Git | UTF-8 |
| 终端 | UTF-8 |
| AI工具 | UTF-8 |
统一配置后:
Windows / Linux / Mac 都不会出现乱码
五、AI 编程时代的一个新问题
随着 AI Coding 的普及,越来越多开发者开始遇到这个问题。
因为:
AI 工具几乎全部使用:
UTF-8
而 Windows 传统环境仍然是:
GBK
所以 Windows 开发者更容易遇到乱码问题。
六、总结
一句话总结:
AI 工具使用 UTF-8 写文件,而 Windows 默认 GBK,IDEA 按 GBK 读取,最终导致乱码。
解决办法:
统一所有环境编码为 UTF-8。
核心三步:
1️⃣ IDEA 编码设置 UTF-8
2️⃣ JVM 添加 -Dfile.encoding=UTF-8
3️⃣ 终端改为 UTF-8
最后
如果你正在使用:
- Codex
- Copilot
- Cursor
- Claude Code
- ChatGPT coding
建议 一定把 Windows 编码统一为 UTF-8。
否则以后会经常遇到:
乱码
日志乱码
终端乱码
AI生成代码乱码
如果这篇文章对你有帮助,可以点个 👍。
我后面准备再写一篇:
《Windows AI 编程环境最佳配置(IDEA + Git + Node + Python)》
可以让 AI coding 效率提升 3 倍。