PowerShell 7解决 Windows 下 Codex 客户端中文乱码问题
一、安装 PowerShell 7
以管理员身份打开终端,执行命令安装 PowerShell 7:
winget install --id Microsoft.PowerShell
二、配置 PowerShell 7 全局 UTF-8 编码
1. 创建并打开配置文件
# 生成配置文件(文件不存在则自动新建)
New-Item -ItemType File -Path $PROFILE -Force
# 调用记事本打开配置文件
notepad $PROFILE
2. 写入 UTF-8 编码配置
将以下内容完整复制粘贴到打开的配置文件中,保存并关闭记事本:
# 初始化无 BOM UTF-8 编码对象
$utf8 = New-Object System.Text.UTF8Encoding $false
# 控制台输入、输出强制使用 UTF-8
[Console]::InputEncoding = $utf8
[Console]::OutputEncoding = $utf8
# 管道及外部程序输出编码强制 UTF-8
$OutputEncoding = $utf8
# 适配 CLI 程序字符集
$env:LANG = "zh_CN.UTF-8"
$env:LC_ALL = "zh_CN.UTF-8"
# 重定向、文件写入默认使用 UTF-8 编码
$PSDefaultParameterValues['*:Encoding'] = 'utf8'
3. 重启 PowerShell 7 使配置生效
pwsh
三、验证编码与环境是否生效
重启后依次执行以下命令,校验配置结果:
# 校验控制台输出编码(需显示 UTF-8,CodePage=65001)
[Console]::OutputEncoding
# 校验管道编码(需显示 UTF-8)
$OutputEncoding
# 校验运行环境(需输出 Core,代表 PowerShell 7 内核)
$PSVersionTable.PSEdition
四、Codex 客户端指定调用 PowerShell 7
找到 Codex 客户端配置文件,在配置末尾追加以下内容,指定终端为 PowerShell 7:
[shell]
executable = "pwsh"
args = ["-NoProfile", "-Command"]
version = "7.6.2"
五、最终测试
重启 Codex 客户端,在内置终端执行中文输出测试,无乱码即配置完成:
Write-Host "中文测试:Codex 客户端编码正常"
或者直接对话框要求执行验证应该输出“Core”
$PSVersionTable.PSEdition

759

被折叠的 条评论
为什么被折叠?



