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

彻底解决 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,右键点击并以管理员身份运行即可:

@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 

Read more

蓝桥杯算法总结

蓝桥杯算法总结

序章 现处于大学生阶段,蓝桥杯算法竞赛算是我们的入门级竞赛,所以我们必须重视起来。 在这个算法总结中,我会用通俗易懂的语言,细致地讲述相关算法,希望能通过我的笔记,为大家带来一些帮助。 此篇文章介绍的算法包括:递归、递推、bfs、dfs...算法内容不定时更新拓展。 有任何想法可以在评论区提出,感谢观看。 递推和递归 递推 先简单介绍一下 递推算法:自底向上,由已知条件推导出位置结果的一种算法 核心:状态转移    边界+关系式 废话不多说,直接从题目入手理解递推思想 在这里选用信息学奥赛一本通的题:https://ybt.ssoier.cn/problem_show.php?pid=1314 题目意思理解: 从A点到B点的路径数,并且经过马能到达的点都无效,我们先做好前期的工作准备 //马走日,移动的位置(马能到达的点) int mx[] = {-1,-1,

《算法题讲解指南:递归,搜索与回溯算法--二叉树中的深搜》--10.二叉搜索树中第k小的元素,11.二叉树的所有路径

《算法题讲解指南:递归,搜索与回溯算法--二叉树中的深搜》--10.二叉搜索树中第k小的元素,11.二叉树的所有路径

🔥小叶-duck:个人主页 ❄️个人专栏:《Data-Structure-Learning》 《C++入门到进阶&自我学习过程记录》 《算法题讲解指南》--优选算法 《算法题讲解指南》--递归、搜索与回溯算法 ✨未择之路,不须回头 已择之路,纵是荆棘遍野,亦作花海遨游 目录 10.二叉搜索树中第k小的元素 题目链接: 题目描述: 题目示例: 解法二(中序遍历+计数器剪枝): 算法思路: C++算法代码: 算法总结及流程解析: 11.二叉树的所有路径 题目链接: 题目描述: 题目示例: 解法(回溯): 算法思路: C++算法代码: 算法总结及流程解析: 结束语 10.二叉搜索树中第k小的元素 题目链接: 230. 二叉搜索树中第 K 小的元素

《算法题讲解指南:递归,搜索与回溯算法--递归》--3.反转链表,4.两两交换链表中的节点,5.快速幂

《算法题讲解指南:递归,搜索与回溯算法--递归》--3.反转链表,4.两两交换链表中的节点,5.快速幂

🔥小叶-duck:个人主页 ❄️个人专栏:《Data-Structure-Learning》 《C++入门到进阶&自我学习过程记录》 《算法题讲解指南》--优选算法 《算法题讲解指南》--递归、搜索与回溯算法 ✨未择之路,不须回头 已择之路,纵是荆棘遍野,亦作花海遨游 目录 3.反转链表 题目链接: 题目描述: 题目示例: 解法(递归): 算法思路: C++算法代码: 算法总结及流程解析: 4.两两交换链表中的节点 题目链接: 题目描述: 题目示例: 解法(递归): 算法思路: C++算法代码: 算法总结及流程解析: 5.快速幂 题目链接: 题目描述: 题目示例: 解法(递归-快速幂): 算法思路: C+