彻底解决 Codex / Copilot 修改中文乱码【含自动化解决方案】

引言

在使用 GitHub Copilot 或 OpenAI Codex 自动重构代码时,你是否遇到过这样的尴尬:AI 生成的代码逻辑完美,但原本注释里的中文 却变成了 æˆ'爱中æ--‡ 这样的乱码?有时候这种字符甚至会污染正确的代码,带来巨大的稳定性隐患。


一、 问题核心:被忽视的"终端中转"

乱码的根源不在于 AI 的大脑,也不在于编辑器的显示,而在于执行链路的编码不一致

Copilot/Codex 在执行某些修改任务(如:重构整个文件或批量替换)时,往往会通过终端调用系统指令。由于 Windows 终端(PowerShell/CMD)默认使用 GBK 编码,它在处理 AI 传来的 UTF-8 字节时会发生"误读",导致写入文件的内容从源头上就损坏了。


二、 解决方案:构建全链路 UTF-8 环境

本文给出一套全自动的解决方案。首先,先新建一个.txt 文件,然后将下方的代码复制进新建的.txt 文件中。接着,将.txt 文件保存并更名为 fix_all_encoding.bat,右键点击并以管理员身份运行即可:

batch 复制代码
@echo off
setlocal enabledelayedexpansion
title AI 编程环境编码一键优化工具

:: 1. 权限验证
net session >nul 2>&1
if %errorLevel% neq 0 (
    echo [错误] 请右键点击此文件,选择"以管理员身份运行"!
    pause
    exit /b
)

echo [*] 正在初始化环境...

:: 2. 设置系统级环境变量
echo [*] 配置系统环境变量 (UTF-8)...
setx /m PYTHONUTF8 "1" >nul
setx /m LESSCHARSET "utf-8" >nul

:: 3. 配置 PowerShell Profile
echo [*] 配置 PowerShell 启动策略...
powershell -NoProfile -ExecutionPolicy Bypass -Command ^
"$p = Split-Path $PROFILE; if (!(Test-Path $p)) { New-Item -ItemType Directory -Path $p -Force }; ^
$content = '$OutputEncoding = [Console]::InputEncoding = [Console]::OutputEncoding = [System.Text.Encoding]::UTF8; [System.Console]::InputEncoding = [System.Text.Encoding]::UTF8; [System.Console]::OutputEncoding = [System.Text.Encoding]::UTF8'; ^
if (Test-Path $PROFILE) { $old = Get-Content $PROFILE; if ($old -notcontains '$OutputEncoding = [Console]::InputEncoding') { Add-Content -Path $PROFILE -Value $content } } else { Set-Content -Path $PROFILE -Value $content -Encoding UTF8 }"

:: 4. 智能合并 VS Code 设置
echo [*] 同步 VS Code 全局设置...
set "VSC_SETTINGS=%APPDATA%\Code\User\settings.json"
if exist "%VSC_SETTINGS%" (
    powershell -NoProfile -ExecutionPolicy Bypass -Command ^
    "$path = '%VSC_SETTINGS%'; ^
    $json = Get-Content $path -Raw | ConvertFrom-Json; ^
    $json | Add-Member -NotePropertyName 'files.encoding' -NotePropertyValue 'utf8' -Force; ^
    $json | Add-Member -NotePropertyName 'files.autoGuessEncoding' -NotePropertyValue $true -Force; ^
    $json | ConvertTo-Json -Depth 100 | Set-Content $path -Encoding UTF8"
    echo [+] VS Code 设置已同步。
)

echo.
echo ---------------------------------------------------
echo [+] 配置成功!
echo [提示] 请重启 VS Code 终端或重启编辑器以使配置生效。
echo ---------------------------------------------------
pause
相关推荐
带刺的坐椅9 天前
SolonCode v2026.6.24 发布:安全访问、Mermaid 渲染、Goal 重构——智能体自治能力再进化
ai编程·codex·claudecode·soloncode
小白跃升坊10 天前
Codex 增强部署:基于 Codex++ 接入 DeepSeek
ai·ai编程·codex·deepseek·ai coding·codex++
大强同学13 天前
Codex App接上微信,我开始在厕所里改 Bug 了
codex
AlfredZhao13 天前
AI 编程工作总结:从体验问题到模块能力建设
ai·codex
JaguarJack15 天前
Openai Codex 重大更新 已支持接入任意开源大模型
ai·openai·codex
侯垒17 天前
我让 Claude 写了一个贪吃蛇游戏,然后用 ccglass 看清它发给模型的真实请求
claude·codex·ccglass
m0_7186774917 天前
Codex+Game studio:做游戏的好工具
codex
BBWEYY终身尊贵会员17 天前
2026年6月四款建站工具怎么选?BBWEYY、比文云、GitHub Copilot、Dreamweaver 简明对比
github·copilot·dreamweaver
爱就是恒久忍耐17 天前
VSCode里如何比较2个branch
ide·vscode·编辑器
意法半导体STM3217 天前
【官方原创】如何为STM32CubeMX2配置Visual Studio Code配置方案
vscode·stm32·单片机·嵌入式硬件·策略模式·stm32cubemx·嵌入式开发