01. 这种痛,懂的都懂

最近深度体验 Vibe Coding(氛围编程):改代码、补注释、扫项目、接需求,全程和 Codex 对话,效率起飞。

但就在这种“丝滑”的时刻,最煞风景的杀手出现了:中文乱码

  • 终端输出一堆 `` 字符。

  • PowerShell 自动生成的注释全是乱码。

  • VS Code 看着正常,一运行脚本就报错。

排查一圈发现,锅不在 AI,而在这一条脆弱的链路

Codex → VS Code → 终端/PowerShell → 文件编码 → 字体显示

只要其中一环没对齐,你的 Vibe 就会瞬间断掉。为了帮大家省下这几小时的排障时间,我整理了这份环境检查清单


02. 核心结论:拥抱 PowerShell 7,拒绝 Windows 默认

在 Windows 环境下,解决乱码的第一优先级是:弃用 Windows PowerShell 5.1,全面倒向 PowerShell 7 (Core)。

除此之外,你需要完成以下四维一体的统一:

  1. 文件编码: 锁死 UTF-8。

  2. 终端引擎: 切换至 PowerShell 7。

  3. 环境配置: Profile 强制全局 UTF-8。

  4. 视觉渲染: 更换支持中文的等宽字体。


03. 检查清单:手把手教你配置

第一步:版本大考(检查 PS 版本)

在 VS Code 终端输入:

PowerShell

$PSVersionTable.PSVersion
  • 5.1.x: 乱码高发区,必须升级。

  • 7.x.x: 恭喜,你已经拿到了通往丝滑体验的门票。

第二步:一键升级(安装 PowerShell 7)

还没装的,直接管理员权限执行:

PowerShell

winget install --id Microsoft.PowerShell --source winget

安装后输入 pwsh 即可进入新世界。

第三步:修改 VS Code 默认终端

装了不代表用了。按 Ctrl + Shift + P -> Terminal: Select Default Profile -> 选中 PowerShell 7

第四步:强行约束 VS Code 编码习惯

打开 settings.json,加入以下逻辑,防止 VS Code “自作聪明”地猜测编码:

JSON

{
  "files.encoding": "utf8",
  "files.autoGuessEncoding": false
}

第五步:打通 PowerShell 的“任督二脉”

这是最关键的一步。在终端输入 notepad $PROFILE(如不存在则按提示创建),将以下代码粘贴进去:

PowerShell

# 强制终端输入/输出使用 UTF-8
[Console]::InputEncoding  = [System.Text.UTF8Encoding]::new($false)
[Console]::OutputEncoding = [System.Text.UTF8Encoding]::new($false)
$OutputEncoding           = [System.Text.UTF8Encoding]::new($false)

# 重新定义常用命令的默认编码
$PSDefaultParameterValues['Out-File:Encoding']    = 'utf8'
$PSDefaultParameterValues['Set-Content:Encoding'] = 'utf8'
$PSDefaultParameterValues['Add-Content:Encoding'] = 'utf8'
$PSDefaultParameterValues['Export-Csv:Encoding']  = 'utf8'

意义: 这样 Codex 调用 PowerShell 生成任何文件或内容时,都会默认携带 UTF-8 基因。

第六步:字体救赎

有时候编码是对的,但字体里没有这个字。在 settings.json 中推荐配置:

JSON

{
  "terminal.integrated.fontFamily": "'Cascadia Mono', 'Sarasa Mono SC'",
  "editor.fontFamily": "'Cascadia Code', 'Microsoft YaHei UI', monospace"
}

提示: Sarasa Mono SC(等距更纱黑体)是中文编程的神器,强烈建议安装。


04. 避坑避雷:你可能有的误区

常见误区真相大白
误区 1“我已经在 VS Code 底栏选了 UTF-8 了。” —— 没用,那只管编辑器,不管终端。
误区 2“乱码是因为 Codex 的模型不行。” —— 模型很懂中文,是 Windows 环境不懂它。
误区 3“直接用 > 输出文件最快。” —— 在 Win 上,请改用 Set-Content 并显式指定 -Encoding utf8

05. 一键配置区(懒人包)

如果你想省事,直接抄作业:

1. VS Code 核心配置

JSON

{
  "files.encoding": "utf8",
  "files.autoGuessEncoding": false,
  "terminal.integrated.defaultProfile.windows": "PowerShell",
  "terminal.integrated.fontFamily": "'Cascadia Mono', 'Sarasa Mono SC'"
}

2. 验证命令(全绿才算通关)

PowerShell

# 1. 确认版本 > 7
$PSVersionTable.PSVersion 

# 2. 确认终端显示
"你好 Codex,测试 UTF-8 渲染"

# 3. 确认文件写入
Set-Content .\vibe_test.txt "中文测试" -Encoding utf8; Get-Content .\vibe_test.txt

结语

Vibe Coding 的核心是“心流”。

不要让环境配置这种琐事消耗你的认知带宽。花 5 分钟配好这套清单,把剩下的精力留给更有创意的想法。如果你后面觉得 Windows 还是太折腾,WSL 2 永远是最终的避风港。


觉得有用的话,点个赞或者转发给正在被乱码折磨的同学吧!

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐