Windows 系统上使用 Claude Code / OpenCode / Codex 这类 AI Coding 工具,经常会遇到中文乱码,主要原因

Windows 系统上使用 Claude Code / OpenCode / Codex 这类 AI Coding 工具,经常会遇到中文乱码,主要原因是:Windows 中文环境下很多 Python 进程默认使用 GBK / CP936,而很多工具、API、JSON 和子进程输出大多按 UTF-8 处理,来回调用时就容易出现编码不一致。


解决方法也不难,把下面这段文本加到工具的全局指令文件里,让 Agent 在调用 Python、读写文件、处理子进程输出时优先按 UTF-8 处理。实测能解决大部分中文乱码问题。

全局指令文件路径:

- Claude Code:`%USERPROFILE%\.claude\CLAUDE.md`
- Codex:`%USERPROFILE%\.codex\AGENTS.md`
- OpenCode:`%USERPROFILE%\.config\opencode\AGENTS.md`

注:如果你同时装了 Claude Code 和 OpenCode,OpenCode 会自动读取 Claude Code 的 `CLAUDE.md`,此时通常无须单独处理 OpenCode 的 `AGENTS.md`。如果只使用 OpenCode,再改上面的 OpenCode 路径即可。

需要添加的文本:

---

# Windows 中文编码约定

在 Windows 中文环境下,如果遇到中文乱码,优先按编码问题处理。

Python 相关命令优先启用 UTF-8 Mode:

- 运行 Python 脚本时优先使用:`python -X utf8 script.py`
- 或先设置环境变量:`PYTHONUTF8=1`

文件读写必须显式指定编码:

- UTF-8 文件使用:`encoding="utf-8"`
- GBK / CP936 文件使用:`encoding="gbk"`

调用 Python 子进程时,也要传递 UTF-8 设置:

- 优先使用 `python -X utf8`
- 或给子进程环境变量加上 `PYTHONUTF8=1`

不要把下面这些当作可靠修复方案:

- `chcp 65001`
- `LANG=zh_CN.UTF-8`
分类