请教, powershell 脚本中使用中文,脚本文本存储的是 utf-8,运行后中文就是乱码。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
purezhang
V2EX    PowerShell

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

  •  1
     
  •   purezhang 2023-09-15 15:51:17 +08:00 2596 次点击
    这是一个创建于 807 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    18 条回复    2023-09-16 14:28:44 +08:00
    purezhang
        1
    purezhang  
    OP
       2023-09-15 16:14:48 +08:00
    搞定了,不会出上传图片。

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

    这个操作坑很大,很多文件可能会变成乱码,比如 office 的 excel ,我试过
    iorilu
        17
    iorilu  
       2023-09-15 22:30:29 +08:00
    微软得编码问题是个历史难题
    dant
        18
    dant  
       2023-09-16 14:28:44 +08:00   1
    保存时需要带 BOM
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2600 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 22ms UTC 09:15 PVG 17:15 LAX 01:15 JFK 04:15
    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