前言
旨在解决在 Windows 环境下使用 CLI 工具时,控制台中文输出乱码问题。
解决方案:使用 PowerShell 7(pwsh)+ 明确 UTF-8 输出, 让 Windows CLI 行为对齐 Linux / macOS 的默认假设。
扩展:另附 IDEA、VSCode 自带终端的配置方法,默认打开 pwsh
参考了大佬的这篇文章,踩了点坑,感兴趣的可以去看看原文:[Windows 下 Codex 中文乱码问题解决方案](Windows 下 Codex 中文乱码问题解决方案-腾讯云开发者社区-腾讯云)
原因
Claude CLI、Codex CLI 等现代 AI 工具,底层基于 Node.js 或 .NET Core,它们输入输出默认强制使用 UTF-8 编码。而 Windows 传统终端(CMD、PowerShell 5.1)默认使用本地语言编码(中文系统为 GBK/936 代码页)。
导致链路如下: Codex(UTF-8) → Windows Console(GBK / 936) → VS Code 终端 → 中文乱码
解决方案
Step 1:安装 PowerShell 7
这里使用 MSI 进行安装,原因是 MSI 安装包会将 pwsh.exe 放置在 C:\Program Files\PowerShell\7\ 下,这是普通应用程序的标准目录,不受 WindowsApps 沙盒权限限制,IDEA、PyCharm 等所有 IDE 都能无障碍调用。
这里被 IDEA 阴了一手,遂改成 MSI 安装
操作:
- 访问官方 GitHub Releases:
https://github.com/PowerShell/PowerShell/releases - 下载对应架构的
.msi文件(64位系统选PowerShell-7.x.x-win-x64.msi)。 - 安装时,务必勾选以下两项:
- ✅ Add to PATH environment variable(加入环境变量,方便随处调用)
- ✅ Register Windows Event Logging Manifest
安装完成后,打开任意终端,输入 pwsh --version,若能正常显示版本号,说明安装成功。
Step 2:进入 pwsh
① 进入pwsh终端
打开你的终端(CMD 或旧版 PowerShell),输入 pwsh 进入 PowerShell 7 环境。
或打开任意文件夹,在红框位置输入pwsh并回车,同样可以进入

② 验证
| |
必须输出:
| |
Step 3:配置UTF-8 编码
① 创建 PowerShell 配置文件(Profile)
若提示文件已存在可跳过此步:
| |
② 编辑配置文件
| |
③ 在打开的记事本中,粘贴以下三行代码(强制 UTF-8):
| |
保存并关闭记事本。
④ 验证配置是否生效
重启 pwsh 终端,执行:
| |
必须输出 65001
VSCode如何正确使用pwsh
打开VSCode
按下
Ctrl + ,,输入Select Default Profile选择
PowerShell(确保指向的是 7.x 版本,而非 5.1)
新开终端,验证
1 2 3$PSVersionTable.PSEdition # 输出应为: Core
IDEA如何正确使用pwsh
JetBrain系列都大同小异,这里介绍一下IDEA的用法
打开 IDEA
打开
File → Settings → Tools → TerminalShell path,点击右边三个点,选择你自己pwsh.exe的实际路径
如果忘了,打开任意终端,执行
where pwsh即可
