免费体验gpt6, 注册即送一个月Pro>>>

codex调用powershell 7解决中文编码问题

玩机分享 陌小雨 190℃

如果你发现codex在编辑有中文的内容时候经常报错,你可以通过下面方法来解决问题原因:

  • Codex / Node / 大部分现代工具 → UTF-8
  • Windows PowerShell 5.1 → GBK(936)

当程序输出 UTF-8,而终端按 GBK 解析 → 中文变乱码,所以需要升级powershell为powershell7

🙋 用户

帮我整理下windows有安装终端和没有安装终端两种情况下安装powershell 7供codex默认调用来解决中文乱码的详细步骤

🤖 Qwen Studio

为您整理了一份详尽的指南。在 Windows 环境下,让 AI 编程工具(如 Codex CLI)调用 PowerShell 7 并彻底解决中文乱码,核心在于二点:安装正确的终端环境、将 PS7 设为系统级默认 Shell。以下是分情况的详细操作步骤:

阶段一:安装 Windows Terminal 与 PowerShell 7

无论您当前是否安装了终端,强烈建议同时拥有 Windows Terminal 和 PowerShell 7,这是解决乱码和供 Codex 调用的最佳基础环境。

情况 A:您的电脑【没有】安装 Windows Terminal

  • 1. 按 Win + X,选择 “终端(管理员)” 或 “Windows PowerShell(管理员)”(打开蓝色的旧版窗口)。
  • 2. 依次复制并执行以下两条命令,安装终端和 PS7:

 

# 1. 安装 Windows Terminalwinget install --id Microsoft.WindowsTerminal --source winget# 2. 安装 PowerShell 7winget install --id Microsoft.PowerShell --source winget

如果网络原因下载失败请查看文章末尾的安装包获取方法

  • 1. 安装完成后,关闭当前蓝色窗口。按 Win + R 输入 wt 回车,即可打开全新的 Windows Terminal。

 

情况 B:您的电脑【已经】安装了 Windows Terminal

  • 1. 按 Win + R 输入 wt 打开 Windows Terminal。
  • 2. 在打开的终端窗口中,直接执行以下命令安装 PowerShell 7(如果已安装会提示已存在):

 

winget install --id Microsoft.PowerShell --source winget
  • 1. 安装完成后,关闭当前终端窗口,重新按 Win + R 输入 wt 打开,以确保新安装的 PS7 被终端识别。

 

阶段二:将 PowerShell 7 设为默认(供 Codex 调用)

Codex 等 AI 工具在 Windows 上执行命令时,通常会寻找系统的默认终端或环境变量中的 SHELL。我们需要从两个层面将其指向 PS7。

层面 1:在 Windows Terminal 中设为默认

  • 1. 打开 Windows Terminal,按 Ctrl + , 打开设置。或者点击标题栏上的向下箭头 ∨,然后选择 “设置”(Settings)
  • 2. 左侧选择 “启动”。
  • 3. 在 “默认配置文件” 下拉菜单中,选择 PowerShell(注意:图标是黑色的,代表 PS7;不要选蓝色的旧版)。
  • 4. 点击右下角 “保存”。

 

层面 2:配置系统环境变量(让 Codex 直接调用 pwsh)

很多跨平台 CLI 工具(如 Codex)不读取 Windows Terminal 的设置,而是读取系统的 SHELL 环境变量。

  • 1. 按 Win + S 搜索 “环境变量”,选择 “编辑系统环境变量”。
  • 2. 点击右下角的 “环境变量” 按钮。
  • 将路径C:\Program Files\PowerShell\7\pwsh.exe添加到Path变量并置顶 (请根据您的实际安装路径填写,可通过在终端通过 $PSHOME 变量来获取)
  • 一路点击“确定”保存。

 

阶段三:验证与测试

完成以上所有步骤,直接启动codex(chatgpt) 问他 你的PowersShell版本是?进行以下验证:

 

powershell7 安装包 扫码获取

 

转载请注明:小雨科技 _武汉网站建设_武汉小程序搭建 » codex调用powershell 7解决中文编码问题

喜欢 (0)
⚡ 加速 by 陌小雨 | 业务联系QQ:274728691