请教, powershell 脚本中使用中文,脚本文本存储的是 utf-8,运行后中文就是乱码。

236 天前
 purezhang

请教,powershell 脚本中使用中文,脚本文本存储的是 utf-8 ,运行后中文就是乱码。 搞不定啊。。。。。

1501 次点击
所在节点    PowerShell
18 条回复
purezhang
236 天前
搞定了,不会出上传图片。

win11
设置,时间和语言,管理语言设置,区域,管理,非 unicode 程序的语言,
勾选:“Beta 版:使用 Unicode utf8 提供全球语言支持”
codehz
236 天前
然后其他中文脚本就炸了(
这玩意只能二选一(
awen233333
236 天前
前不久我也遇到了,没找到解决办法,设置语言的话只能设置自己的电脑,如果脚本要在其他电脑执行就不知道咋搞了
thinkershare
236 天前
重写报错一下脚本,将编码改为 GB2312 ,不要改操作系统的 UTF-8, 很多旧软件会炸掉。
mingl0280
236 天前
你跑输出之前执行一下 mode con cp select=65001 或者 chcp 65001
xiangyuecn
236 天前
文件开头 chcp 65001 切换代码页
mingl0280
236 天前
然后还可能要改一下:
$OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = [Text.UTF8Encoding]::UTF8
kid1412621
236 天前
zsj1029
236 天前
感谢,很久以前搞过,重装忘记配置了
最新发现 git bash 中文乱码,修改 Unicode 果然好了
再次表示感谢
purezhang
236 天前
@codehz 额,微软搞不定吗?
sub166
236 天前
powershell7 默认 utf8
YGHMXFAL
236 天前
PS 中终端输出好像是 UTF-16LE,你的脚本以这个编码存储就好了,楼主试试
YGHMXFAL
236 天前
你 1 楼那个操作,干扰范围太广了,以后还有坑
miaomiao888
236 天前
@purezhang 然后运行有些旧软件可能又乱码
微软这个设置很糟糕,而且修改还得重启生效,win7 好像都没这些问题。
mudssky
236 天前
我好像最近一直没遇到过这个问题,可能是因为我用的是 powershell core
pigspy
236 天前
“Beta 版:使用 Unicode utf8 提供全球语言支持”

这个操作坑很大,很多文件可能会变成乱码,比如 office 的 excel ,我试过
iorilu
236 天前
微软得编码问题是个历史难题
dant
235 天前
保存时需要带 BOM

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

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

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

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

© 2021 V2EX