codex 如何避免中文乱码 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
admirez
V2EX    Codex

codex 如何避免中文乱码

  •  
  •   admirez 2 月 27 日 via iPhone 2047 次点击

    让他改一下 claude code 写的 py 程序,改的很好 就是中文全乱码了

    24 条回复   &nsp;2026-03-08 11:53:10 +08:00
    Vaspike
        1
    Vaspike  
       2 月 27 日
    指定编码组?
    280303
        2
    280303  
       2 月 27 日
    [img][/img]
    nethcx
        3
    nethcx  
       2 月 27 日   2
    项目里写个 agents.md
    强约束:所有文件读写一律使用 UTF8 (无 BOM )。禁止使用默认编码、GBK 、ANSI 。
    执行任何写文件命令前,必须检查并确认控制台编码为 UTF8 ( chcp 65001 ),并在读写时显式指定 UTF8 。
    如发现中文乱码(例如“绔 Service 涓灞?”),不得直接修乱码文本,必须先确定原文(从正确源文件/历史版本/上下文)再替换。
    若无法确认原文,必须先询问再修改。
    违反以上规则将导致编码再次损坏,务必严格遵守。
    win8en
        4
    win8en  
       2 月 27 日 via Android
    @nethcx 难受,几乎天天会遇到,不过项目被 codex 读的多了,他都给自动改过来了。新项目还是会遇到,谢谢您,哥哥
    zgx030030
        5
    zgx030030  
       2 月 27 日
    @nethcx 学习了。 我之前也遇到过,好好的项目改完全是乱码。后来听说 linux/macos 里是正常的,我就直接在 wsl 里跑 codex 开发了...
    admirez
        6
    admirez  
    OP
       2 月 27 日 via iPhone
    @280303 我是 windows11 用微软 terminal ,ps 是 5.1 ,但是 claude code 也是这样用 cli 啊 从来没乱码过
    Anonono
        7
    Anonono  
       2 月 27 日
    @admirez 不要纠结,就是 codex 的问题,我也踩过这坑,换 pwsh7 吧。然后推荐一下这个配置 https://linux.do/t/topic/1504310 可以参考使用下
    jixule
        8
    jixule  
       2 月 27 日
    wsl ,之前用 win 总是出现中文乱码,装在 wsl 里面再也没出现过
    280303
        9
    280303  
       2 月 27 日
    @admirez 你问的不是 codex 么,claude code 没问题 不代表 codex 也没问题啊。 不用纠结 解决就行
    cairnechen
        10
    cairnechen  
       2 月 27 日
    @nethcx 问个小白问题,这个 agents.md 是 codex 默认会加载,还是必须主动告诉它去加载?
    Censhuang
        11
    Censhuang  
       2 月 27 日
    macos 的 codex 原生开始写,没有中文乱码。Claude code 倒是乱码一堆
    EeveeRibbon
        12
    EeveeRibbon  
       2 月 27 日
    macOS 高强度使用没遇见过,应该是 Windows 版本的专属问题
    JYii
        13
    JYii  
       2 月 27 日
    @280303 #9 微软商店下载 powershell 一直转圈,不能停止,杀掉再打开还是在下载中...代理开关都一个样。真愁人啊
    nethcx
        14
    nethcx  
       2 月 27 日
    ninjaJ
        15
    ninjaJ  
       2 月 27 日
    @admirez Windows 最好在 WSL 中用
    win8en
        16
    win8en  
       2 月 27 日
    @EeveeRibbon 这个问题是 Windows 专属!你们 macOS 没有机会“享受”的!该死的阿三,烦死了。
    4seasons
        17
    4seasons  
       2 月 27 日
    直接在 git bash 中用 codex ,就会少很多问题...
    bbbblue
        18
    bbbblue  
       2 月 27 日   1
    # Force UTF-8 (no BOM) for console + pipeline
    $Utf8NoBom = [System.Text.UTF8Encoding]::new($false)
    [Console]::InputEncoding = $Utf8NoBom
    [Console]::OutputEncoding = $Utf8NoBom
    $OutputEncoding = $Utf8NoBom

    # Ensure code page is UTF-8
    chcp 65001 > $null

    把这个用在 PS5/PS7 的 profile 里

    如果 codex 调了 wsl 的 bash config.toml 加参数
    [shell_environment_policy.set]
    WSL_UTF8 = "1"
    ztm0929
        19
    ztm0929  
       2 月 27 日
    @JYii 在微软商店下载其他应用也是如此吗?如果同样有类似的问题,说明此时代理没有正确应用到这类 UWP 应用。

    不确定你在使用哪款客户端,不过可以参考这个说明操作去解决。

    https://www.clashverge.dev/faq/windows.html#windows-uwp
    admirez
        20
    admirez  
    OP
       2 月 27 日 via iPhone
    @Anonono 只用 powershell7 就可以了吗?我还有不少文件是 gbk 编码的
    Anonono
        21
    Anonono  
       2 月 27 日
    @admirez 不好确定,windows 下最优解还是 wsl ,如果不用 wsl 一定要装 pwsh
    admirez
        22
    admirez  
    OP
       2 月 27 日 via iPhone
    @Anonono 用 pwsh 会导致 claude codex 处理我的 gbk 编码的中文文件乱码吗
    admirez
        23
    admirez  
    OP
       2 月 27 日 via iPhone
    试了下 codex 在 powershell7 下面 编辑我的 gbk 编码的 bat 文件 还是中文乱码,utf8 编码的没问题。claudecode 在 powershell5.1 都是正常
    admirez
        24
    admirez  
    OP
       3 天前
    codex 最新版本改我的 markdown 还是有问题,他这样说:

    PowerShell 5.1 + ConstrainedLanguage 叠加导致的:

    - 运行器会先尝试设置 [Console]::OutputEncoding = UTF8 ,但你这个环境里被限制了,所以每次都报那句“无法设置属性”
    - JSON 文件我大多是用 Python 直接读写 UTF-8 ,路径比较单一,所以相对稳定
    - Markdown 文本里中文自然语言更多,我如果直接把中文源码塞进 PowerShell heredoc ,容易被宿主链路在某一层按本地代码页解
    释,结果就变成乱码或问号
    - 所以后来我改成“ASCII 脚本 + Unicode 转义 + Python 写文件”,这个方式在你环境里才稳定
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     922 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 21:32 PVG 05:32 LAX 14:32 JFK 17:32
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86