解决 Codex 执行 PowerShell 时中文乱码问题(避雷安装PowerShell 7 和 修改profile 的方法)
·
在使用 codex 时,当 codex 运行 powershell 命令读取文件内容遇到中文时会出现乱码问题,读取的内容会是一堆问号之类的乱码,虽然 codex 随后会强制使用 utf8 来读取,但这无疑拖慢了codex 的处理耗时。作为轻微强迫症的我也不允许这种事发生。
博主也看了很多解决这问题的帖子,解决方法都是安装PowerShell 7 或 修改profile,但这样并没有解决问题!改了还是没有任何效果。下面讲诉这两种无效的尝试方法以及解决办法。
尝试一:安装PowerShell 7
PowerShell 7 默认采用 utf8 编码,博主安装了PowerShell 7 并将其设为默认终端,但 codex 压根就不使用 PowerShell 7,还是使用的系统自带的PowerShell 5.1。(没招)
尝试二:修改profile
首先执行下面的命令:
cocde $PROFILE
然后假如以下设置:
# 强制UTF-8编码
chcp 65001 | Out-Null
[Console]::InputEncoding = [System.Text.UTF8Encoding]::new()
[Console]::OutputEncoding = [System.Text.UTF8Encoding]::new()
$OutputEncoding = [System.Text.UTF8Encoding]::new()
# 默认文件编码
$PSDefaultParameterValues['Out-File:Encoding'] = 'utf8'
$PSDefaultParameterValues['Set-Content:Encoding'] = 'utf8'
$PSDefaultParameterValues['Add-Content:Encoding'] = 'utf8'
该设置对本机起效果,但codex 根本不吃这套。可能原因是 codex 运行在沙箱环境,根本不会执行 profile,改了等于白改。
🎉 真正的解决方案
Windows 设置 → 时间和语言 → 语言和区域→ windous语言设置→Beta版:使用Unicode UTF-8 提供全球语言支持

更多推荐




所有评论(0)