windows 平台中 opencode 输出中文乱码应该怎么办?

4 月 14 日
 gnhaha

使用 powershell7 启动 opencode 也不行。 大家有什么好办法?

1842 次点击
所在节点    程序员
12 条回复
fortynine
4 月 14 日
启动 wsl
RW5kZXJBdmFyaXRp
4 月 14 日
什么样的乱码?试试 chcp 65001
assilzm
4 月 14 日
让他自己解决啊
afkool
4 月 14 日
控制面板 设置里面开启就行了。
jadeborner
4 月 14 日
git-bash
sudo123
4 月 14 日
用桌面版也一样?
gnhaha
4 月 15 日
谢谢大家的建议
@afkool 这个方法可以,暂时采用该方法
@jadeborner 这个方法备选
@fortynine wsl 暂时不准备用,应该有效的
@RW5kZXJBdmFyaXRp chcp 不起作用,在 opencode shell 模式输入 ls ,中文目录仍然乱码
@sudo123 没有用到桌面版,用的终端
boolean1135
4 月 15 日
之前用过 opencode 感觉不怎么好用,目前已经过去了将近一年,现在不知道怎么样。
RW5kZXJBdmFyaXRp
4 月 15 日
@gnhaha @afkool 那个方法用的时候小心,部分古早程序可能出现乱码
看起来确实是编码格式的问题
cus
4 月 15 日
安装 powershell7 ,不要让他用 windows 自带的 powershell
AoEiuV020JP
4 月 15 日
win11 正处于默认 gbk 和默认 utf8 的分界线上,确实容易各种乱码,
最坑爹的是直接启动 pwsh 和从 cmd 启动 pwsh 的编码可能是不一样的,也可能是一样的,
总之任何编码问题都可以先 chcp 查看一下当前终端的编码然后试着切到另一种,
afkool
4 月 20 日
@gnhaha
@RW5kZXJBdmFyaXRp
今天还真就遇到了。。。
现在的解决方案是,把那个勾取掉,然后编辑 powershell 的配置文件:notepad $PROFILE

```powershell
# 1. 强制将控制台代码页改为 UTF-8 (等同于手动输入 chcp 65001)
# 这是解决 rg 、git 、node 等外部工具乱码的最底层方案
$env:LESSCHARSET = "utf-8"
[Console]::InputEncoding = [System.Text.Encoding]::UTF8
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8

# 2. 执行 chcp 命令(确保外部进程也能感知到编码变化)
# 这一步能解决 90% 以上三方工具执行时的乱码
chcp 65001 | Out-Null

# 3. 设置别名或特定工具的环境变量(防止 rg 等工具在特定环境下“想太多”)
$env:PYTHONIOENCODING = "utf-8"

# 4. 标题美化
$Host.UI.RawUI.WindowTitle = "🚀 PWSH | UTF-8 | HarmonyOS Developer"


}
```

目前正常。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1205831

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX