PowerShell 7 解决 Codex 中文乱码:完整经验总结(VsCode 背景)

一、结论

  • 安装 PowerShell7 可以解决绝大多数中文乱码问题
  • 前提:终端 + 编辑器 + 文件编码统一为 UTF-8

二、背景与原因(为什么会乱码)

Windows 下常见编码不一致:

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

当程序输出 UTF-8,而终端按 GBK 解析 → 中文变乱码

👉 本质:编码不一致


三、为什么 PowerShell 7 能解决

  • PowerShell 7 默认使用 UTF-8
  • 与 Codex / Node 编码一致
  • 不需要额外转换

👉 直接消除编码冲突


四、安装方式

方法一:winget(推荐)

适用:Windows 10 / 11

操作步骤:

  1. 打开开始菜单

  2. 搜索:PowerShell

  3. 右键 → 以管理员身份运行

  4. 执行:

powershell 复制代码
winget install --id Microsoft.PowerShell --source winget
  1. 等待安装完成

方法二:官网下载(通用)

操作步骤:

  1. 打开浏览器

  2. 访问:

    https://github.com/PowerShell/PowerShell/releases

  3. 在页面最上方找到最新版本

  4. 下载文件:

    • PowerShell-7.x.x-win-x64.msi
  5. 双击安装包

  6. 一路点击:

    • Next → Next → Install → Finish

五、验证安装

操作路径:

  1. 打开开始菜单
  2. 搜索:pwsh
  3. 打开 PowerShell 7

执行:

powershell 复制代码
pwsh -v

看到版本号(如 7.x.x)即成功


六、VS Code 配置(关键步骤)

如果不切换,仍可能使用旧 PowerShell

操作路径:

  1. 打开 VS Code

  2. 按:Ctrl + Shift + P 打开命令面板

  3. 输入:
    Terminal: Select Default Profile

  4. 选择:
    PowerShell 7 (pwsh)

  5. 新建终端(Ctrl + `)生效


七、可选优化(进一步避免乱码)

在 PowerShell 7 终端执行:

powershell 复制代码
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8

八、常见问题排查

  1. 仍然乱码

    • 确认终端是 pwsh(不是 powershell)
  2. VS Code 已切换但无效

    • 关闭终端 → 重新打开
  3. 文件本身乱码

    • 确认文件编码是 UTF-8
    • VS Code 右下角查看编码
  4. 部分程序乱码

    • 可能程序自身编码问题(少见)

九、总结

问题本质是编码不一致。
解决方法是统一为 UTF-8。
而 PowerShell 7 是关键一步。

相关推荐
郝学胜-神的一滴2 天前
C++11 工程级应用 09:告别无谓拷贝,解锁高性能移动语义
开发语言·数据结构·c++·vscode·软件工程·visual studio
weixin_402486342 天前
VS Code Codex/Claude Extension 无法安装 / 无法正常打开
linux·服务器·vscode
2501_915909062 天前
SwiftUI 和 UIKit 怎么选?两代 UI 框架的适用范围
vscode·ios·objective-c·个人开发·swift·敏捷流程
golang学习记2 天前
VS Code 新UI被曝重大bug:菜单栏消失了
vscode·bug
2501_915918412 天前
在Windows10上使用VSCode和Code Runner搭建Swift开发环境详细步骤
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
零基础的修炼2 天前
CUDA知识汇总
开发语言·c++·编辑器
墨白曦煜2 天前
穿透 IDE 的障眼法:Git 四大工作区与核心数据流转解析
ide·git
WeiXin_DZbishe3 天前
基于springboot大学生提问箱系统-计算机毕设【课程设计】72593
javascript·vue.js·spring boot·vscode·python·node.js·php
kqz20143 天前
Android Studio Commit 面板临时文件.gitignore
ide·android studio·intellij-idea
天天喝旺仔3 天前
AI 编程实战:用 Cursor + Claude Code + Copilot 把效率翻倍
ide·chatgpt·prompt·copilot·ai编程