type
Post
status
Published
date
Apr 12, 2026
slug
codex_utf8
summary
如何把 Windows 下终端、Codex、Python 脚本和常见命令行工具统一切到 UTF-8 环境,避免中文输出、中文注释和中文文件处理时出现乱码。
tags
AI
开发
工具
category
知识分享
icon
💻
password
这篇文章解决的问题是:如何把 Windows 下终端、Codex、Python 脚本和常见命令行工具统一切到 UTF-8 环境,避免中文输出、中文注释和中文文件处理时出现乱码。
先说结论:不要继续在 GBK 和 UTF-8 混用的状态里逐个工具打补丁,而是直接把终端链路整体切到 UTF-8。
适合谁
- 你在 Windows 下用 Codex、Claude Code、Python 或其他 CLI 工具时经常遇到中文乱码。
- 你还在使用旧版 PowerShell 5.1,或者终端和编辑器编码设置不一致。
- 你想要一套能长期稳定工作的方案,而不是每次乱码再临时修修补补。
先统一一个判断
很多人第一次看到乱码,会先怀疑:
- Codex 输出坏了
- Python 文件编码坏了
- VS Code 某个保存选项坏了
这些都可能是表象,但在 Windows 上更常见的根因是:终端还在旧代码页,编辑器、脚本和 Agent 又在按 UTF-8 工作。
所以这篇文章的主方案不是给某个工具单独修补,而是把下面这条链路统一起来:
- Windows Terminal
- PowerShell 7
- $PROFILE 里的 UTF-8 配置
- VS Code 默认终端
1. 先切到 PowerShell 7
建议直接放弃系统自带的 PowerShell 5.1,切换到现代终端组合:
- 终端核心:PowerShell 7(pwsh)
- 终端外壳:Windows Terminal
安装命令:
安装完之后,验证版本:
只要主版本是 7,说明你已经切到正确的 PowerShell 了。
2. 把 UTF-8 写进 $PROFILE
先打开配置文件:
然后加入下面这段补丁:
3. 解除脚本运行限制
如果系统弹出确认提示,输入 A 并回车即可。
这一步不是为了关闭安全,而是为了允许你自己的本地 PowerShell 配置正常生效。范围限定在 CurrentUser。
4. 验证配置是否成功
重启终端后,运行:
看到 WebName = utf-8,CodePage = 65001 即为成功。

5. 把 Windows Terminal 和 VS Code 一起切过来
Windows Terminal:打开设置,将默认配置文件修改为 PowerShell 7。

如果列表里还没有 PowerShell 7,可先手动运行一次
pwsh,再回来查看设置页。
VS Code:按 Ctrl+Shift+P,搜索 Terminal: Select Default Profile,选择 PowerShell 7。
6. 最常见的坑
- 只改编辑器,不改终端:照样会乱码。
- 只改临时设置,没写进 $PROFILE:重开终端后恢复原样。
- PowerShell 5.1 和 7 混用:行为不一致。
- 把问题归给 Codex 本身:大多数时候是终端链路没统一。
- 只执行 chcp 65001:临时有效,重开失效。
总结
通过 PowerShell 7 + Windows Terminal + $PROFILE UTF-8 补丁 这条主线,把 Windows 开发环境从历史遗留的 GBK 体系切到更稳定的 UTF-8 体系。
一旦这条链路统一下来,Codex 生成的中文注释、Python 脚本输出、命令行工具返回结果,以及日常编辑保存的中文文件,都会明显稳定很多。
- 作者:PolarisAspire
- 链接:https://lpolaris.com//article/codex_utf8
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。






