请教,powershell 脚本中使用中文,脚本文本存储的是 utf-8 ,运行后中文就是乱码。 搞不定啊。。。。。
1
purezhang OP 搞定了,不会出上传图片。
win11 设置,时间和语言,管理语言设置,区域,管理,非 unicode 程序的语言, 勾选:“Beta 版:使用 Unicode utf8 提供全球语言支持” |
2
codehz 2023-09-15 16:29:26 +08:00
然后其他中文脚本就炸了(
这玩意只能二选一( |
3
awen233333 2023-09-15 16:34:41 +08:00 via iPhone
前不久我也遇到了,没找到解决办法,设置语言的话只能设置自己的电脑,如果脚本要在其他电脑执行就不知道咋搞了
|
4
thinkershare 2023-09-15 16:38:29 +08:00 1
重写报错一下脚本,将编码改为 GB2312 ,不要改操作系统的 UTF-8, 很多旧软件会炸掉。
|
5
mingl0280 2023-09-15 16:40:30 +08:00 via Android
你跑输出之前执行一下 mode con cp select=65001 或者 chcp 65001
|
6
xiangyuecn 2023-09-15 16:40:43 +08:00
文件开头 chcp 65001 切换代码页
|
7
mingl0280 2023-09-15 16:43:02 +08:00 via Android 1
然后还可能要改一下:
$OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = [Text.UTF8Encoding]::UTF8 |
8
kid1412621 2023-09-15 18:08:54 +08:00 via iPhone
|
9
zsj1029 2023-09-15 18:33:03 +08:00
感谢,很久以前搞过,重装忘记配置了
最新发现 git bash 中文乱码,修改 Unicode 果然好了 再次表示感谢 |
11
sub166 2023-09-15 18:48:03 +08:00
powershell7 默认 utf8
|
12
YGHMXFAL 2023-09-15 19:07:17 +08:00
PS 中终端输出好像是 UTF-16LE,你的脚本以这个编码存储就好了,楼主试试
|
13
YGHMXFAL 2023-09-15 19:07:54 +08:00
你 1 楼那个操作,干扰范围太广了,以后还有坑
|
14
miaomiao888 2023-09-15 19:17:05 +08:00
@purezhang 然后运行有些旧软件可能又乱码
微软这个设置很糟糕,而且修改还得重启生效,win7 好像都没这些问题。 |
15
mudssky 2023-09-15 21:45:32 +08:00
我好像最近一直没遇到过这个问题,可能是因为我用的是 powershell core
|
16
pigspy 2023-09-15 22:18:59 +08:00
“Beta 版:使用 Unicode utf8 提供全球语言支持”
这个操作坑很大,很多文件可能会变成乱码,比如 office 的 excel ,我试过 |
17
iorilu 2023-09-15 22:30:29 +08:00
微软得编码问题是个历史难题
|
18
dant 2023-09-16 14:28:44 +08:00 1
保存时需要带 BOM
|