解决 Codex 修改文件后中文乱码问题:根源在终端编码,不在 VS Code
🛠️ 解决 Codex 修改文件后中文乱码问题:根源在终端编码,不在 VS Code!
关键词:Codex、中文乱码、VS Code、PowerShell、UTF-8、终端编码、无 BOM
🔍 问题现象
使用 GitHub Copilot(或 Codex)修改包含中文的文件时,保存后打开发现中文变成乱码,比如:
æˆ‘çˆ±ä¸æ–‡ → 实际应为 “我爱中文”
很多人第一反应是:“是不是 VS Code 编码设置错了?”
但其实——问题不在编辑器,而在终端!
🧠 真正的根源
Codex 并不直接在 VS Code 编辑器里写文件,而是通过终端(Terminal)执行命令(如 echo、sed、PowerShell 脚本等)来修改文件内容。
流程如下:
- Codex 生成修改命令(例如
Set-Content file.txt "你好") - 命令在 终端中执行
- 终端以当前编码将字节写入文件
- VS Code 读取文件 → 如果编码不匹配 → 乱码
👉 所以,乱码的根本原因是:终端编码 ≠ 编辑器编码。
✅ 解决方案:双端统一为 UTF-8
要彻底解决,必须同时配置:
- VS Code 使用 UTF-8
- 终端(PowerShell/CMD)默认使用 UTF-8
第一步:配置 VS Code 为 UTF-8
打开 VS Code 设置(Ctrl + ,),切换到 settings.json,添加:
{
"files.encoding": "utf8",
"files.autoGuessEncoding": true
}"files.encoding": "utf8":默认以 UTF-8 保存文件"files.autoGuessEncoding": true:打开文件时自动检测编码(尤其对带 BOM 的文件友好)
✅ 这一步确保 VS Code 读写一致。
第二步:配置 PowerShell 终端为 UTF-8(重点!)
1️⃣ 确认你用的是哪个 PowerShell?
在终端运行:
$PSVersionTable.PSVersion
- 5.x → Windows 自带的 Windows PowerShell(旧版)
- 7.x → PowerShell 7+(推荐升级)
💡 强烈建议升级到 PowerShell 7,对 UTF-8 支持更好。
2️⃣ 找到你的 Profile 文件路径
$PROFILE
常见路径:
- Windows PowerShell 5.1:
C:\Users\<用户名>\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 - PowerShell 7+:
C:\Users\<用户名>\Documents\PowerShell\Microsoft.PowerShell_profile.ps1
3️⃣ 使用安全脚本配置 UTF-8(无 BOM)
⚠️ 注意:不要用
Add-Content -Encoding UTF8,它会写入 带 BOM 的 UTF-8,可能引发其他工具兼容问题。
我们需要的是 UTF-8 无 BOM。
运行以下完整脚本(支持幂等、避免重复、兼容 Win7/10/11):
# Setup-UTF8PowerShellProfile.ps1
$utf8Config = @'
# 设置控制台使用 UTF-8 编码(无 BOM)
chcp 65001 | Out-Null
[Console]::InputEncoding = [System.Text.UTF8Encoding]::new()
[Console]::OutputEncoding = [System.Text.UTF8Encoding]::new()
$OutputEncoding = [System.Text.UTF8Encoding]::new()
# 设置默认文件操作编码为 UTF-8(无 BOM)
$PSDefaultParameterValues['Out-File:Encoding'] = 'utf8'
$PSDefaultParameterValues['Set-Content:Encoding'] = 'utf8'
$PSDefaultParameterValues['Add-Content:Encoding'] = 'utf8'
'@
# 创建目录(如果不存在)
$profileDir = Split-Path -Parent $PROFILE
if (-not (Test-Path $profileDir)) {
New-Item -ItemType Directory -Path $profileDir -Force | Out-Null
}
# 读取现有内容
$existing = if (Test-Path $PROFILE) { Get-Content $PROFILE -Raw } else { "" }
# 检查是否已配置(避免重复)
$hasConfig = $existing -match 'Console::OutputEncoding' -and
$existing -match '\$OutputEncoding' -and
$existing -match "PSDefaultParameterValues.*Out-File:Encoding"
if (-not $hasConfig) {
$newContent = if ($existing) { "$existing`r`n$utf8Config" } else { $utf8Config }
$utf8NoBom = New-Object System.Text.UTF8Encoding($false) # $false = 无 BOM
[System.IO.File]::WriteAllText($PROFILE, $newContent, $utf8NoBom)
Write-Host "✅ UTF-8 配置已写入 Profile!路径: $PROFILE" -ForegroundColor Green
} else {
Write-Host "ℹ️ UTF-8 已配置,跳过。" -ForegroundColor Cyan
}
# 立即生效
. $PROFILE4️⃣ 验证是否生效
'中文测试' | Set-Content .\test.txt Get-Content .\test.txt
如果输出 “中文测试” 而非乱码,说明配置成功!
第三步:其他终端的 UTF-8 配置(可选)
🖥️ Windows CMD
临时切换:
chcp 65001
⚠️ 仅对当前窗口有效。不建议长期使用 CMD 处理中文,推荐改用 PowerShell。
🐚 Git Bash
编辑 ~/.bashrc,添加:
export LANG="zh_CN.UTF-8" export LC_ALL="zh_CN.UTF-8"
然后执行:
source ~/.bashrc
📌 总结:乱码问题的终极解法
| 组件 | 配置项 | 目的 |
|---|---|---|
| VS Code | "files.encoding": "utf8" | 编辑器读写统一为 UTF-8 |
| PowerShell | Profile 中设置 Console + $OutputEncoding + $PSDefaultParameterValues | 终端命令输出 UTF-8 无 BOM |
| CMD | chcp 65001(临时) | 切换代码页为 UTF-8 |
| Git Bash | export LANG=zh_CN.UTF-8 | 环境变量强制 UTF-8 |
✅ 只要 终端写入 和 编辑器读取 都用 UTF-8(无 BOM),Codex 修改中文文件就再也不会乱码!
💡 附:为什么推荐 UTF-8 无 BOM?
- BOM(Byte Order Mark)在 Windows 记事本中常见,但 Linux/macOS 工具(如
cat、grep、Python)可能将其视为普通字符,导致解析错误。 - VS Code、Git、Node.js、Python 等现代工具默认期望无 BOM 的 UTF-8。
- 作为开发者,统一使用 UTF-8 无 BOM 是最佳实践。
🌟 小提示:如果你经常在多平台开发,建议将此脚本加入你的 Windows 初始化配置清单,一劳永逸解决编码问题!
作者:一位注重编码规范的 Windows 开发者
环境:Windows 10/11 + PowerShell 5.1/7 + VS Code
目标:让每一行中文都正确显示 💯
如需获取该脚本的 .ps1 文件或一键安装版,欢迎留言!
到此这篇关于解决 Codex 修改文件后中文乱码问题:根源在终端编码,不在 VS Code的文章就介绍到这了,更多相关Codex修改文件中文乱码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!
相关文章
这段文章主要介绍了如何通过安装PowerShell7来解决使用Codex模型时出现的中文乱码问题,并详细描述了安装步骤及验证方法,融合了PowerShell7、中文乱码、Codex三个关键词,感2026-06-25
Codex是很多开发者的主力 AI 工具,本文详细记录了Codex因端口配置错误导致的“streamdisdisconnect”报错排查过程,通过netstat检查实际口、curl测试代理连通性及对比配置文2026-06-24
Codex Windows自动更新后沙箱报错的问题排查与解决方法
本文详细记录了CodexWindows桌面端自动更新后出现的沙箱报错排查过程,发现关键问题是WindowsApps应用包中的app\resources目录下执行文件被标记为Encrypted/ApplicationProt2026-06-24
Codex 下载与登录全流程分析(Windows/macOS/Linux)
这篇文章给大家介绍Codex下载与登录全流程分析(Windows/macOS/Linux),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧2026-06-24
Codex被誉为2026年最值得上手的AI工具,它不仅是一个编程Agent,更是一个几乎可以替换掉任何对话工具的全能 AI,配合高性价比的定价机制和充足的Token额度,只要你能想到的2026-06-22
本文主要介绍了对新手小白友好的Codex官方可视化编程插件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一2026-06-09
本文档用于说明如何把 ApexAPI 网页端提供的 Codex CLI 配置同步到本机 Codex App / Codex CLI,让 App 注入和网页端配置保持一致,文中通过示例代码介绍的非常详细,对大家2026-06-08
本文主要介绍了在Codex中安装和使用MCP插件的步骤,包括背景、准备、绑定、使用和排错,特别强调了TOML配置文件的使用及中文名称的问题,帮助读者快速上手2026-06-08
本文主要介绍了通过SSH Remote Forward解决Codex服务器无法登录的问题,包括SSH隧道建立、代理配置及长期使用方案,帮助开发者顺畅访问远程服务器文件2026-06-05











最新评论