You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复PowerShell脚本文件中的乱码问题?

问题原因

该问题确实和字符集编码不匹配直接相关:
你看到的�是标准Unicode替换字符,用来标记解码过程中无法识别的无效字节。这个位置原本的内容不是普通半角双引号,是PowerShell ISE等编辑器自动替换生成的智能弯引号(左右配对的排版类双引号),出现乱码的核心场景无外乎两种:

  • 同事保存脚本时使用了本地Windows默认的GBK(代码页936)编码,你当前打开脚本的编辑器默认用UTF-8无BOM格式解码,特殊引号对应的字节无法被UTF-8规则识别,就会显示为乱码替换符
  • 脚本通过聊天工具、富文本传输通道拷贝时,特殊字符的字节被转码损坏,导致无论用什么编码打开都无法识别原引号
    因为脚本本身的逻辑没有问题,所以在同事本地编码匹配的环境下可以正常显示、运行。
修复方案
  • 即时修复:直接把代码段里两个乱码的�替换为英文半角双引号即可,修复后代码如下,可在所有PowerShell环境下正常运行:
catch {
        Throw "Failed to uninstall $package"
    }
  • 批量修复全脚本同类问题:在你使用的脚本编辑器(VS Code、PowerShell ISE等)中,选择「以指定编码重新打开」,依次尝试GBK、GB2312、Windows-1252编码,直到所有特殊字符正常显示后,将文件另存为UTF-8 with BOM格式——这是Windows平台PowerShell脚本兼容性最好的编码格式,后续跨设备打开不会再出现同类乱码问题。
  • 长期规避:编写PowerShell脚本时尽量使用英文半角引号,关闭输入法的智能标点替换、编辑器的自动弯引号替换功能,从根源避免特殊标点带来的编码兼容问题。

内容的提问来源于stack exchange,提问作者Jason Yu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 19:15:41