广告位联系
返回顶部
分享到

codex改文件中文乱码的解决方法

Ai 来源:互联网 作者:佚名 发布时间:2026-06-25 22:18:49 人浏览
摘要

最近发现闲鱼可以不到几块钱,可以拼车GPT Team,就能使用codex各个模型一个月(本质上这些人是搞的0刀或1刀试用team) 体验之后,不得不说,codex确实比kimi 2.5等国产模型一次通过率高很多,

最近发现闲鱼可以不到几块钱,可以拼车GPT Team,就能使用codex各个模型一个月(本质上这些人是搞的0刀或1刀试用team)

体验之后,不得不说,codex确实比kimi 2.5等国产模型一次通过率高很多,用的很爽,额度很多,真的量大管饱(如果用codex 桌面端还能限时享受2倍额度)

但是使用过程中,我发现有一个问题——codex经常把中文改成乱码,网上搜索了一翻,发现要安装powershell 7才能解决

为什么要安装powershell 7

Codex 基于 Node.js,默认 UTF-8,而Windows 自带的PowerShell 5.1 /cmd 默认 GBK(代码页 936),codex读写文件之后就会导致编码冲突,从而导致中文产生乱码

而PowerShell 7 默认 UTF-8,就可以解决乱码情况

如何安装powershell 7

安装powershell 7:https://github.com/powershell/powershell/releases(也可以前往微软商店下载)

之后重启电脑,不重启可能有些终端依然使用的是powershell5

打开cmd,运行where pwsh?,输出C:\Program Files\PowerShell\7\pwsh.exe?,确保pwsh命令已经可以全局使用

测试codex是否成功使用powershell 7

打开codex运行,让其运行PSVersionTable.PSVersion.ToString()?,如果返回的是7.x,说明已经配置成功

之后再让codex改代码,就不会再重新乱码问题了!

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

@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


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计