【问题标题】:Set the encoding to ANSI in PowerShell 2.0在 PowerShell 2.0 中将编码设置为 ANSI
【发布时间】:2016-06-08 10:42:59
【问题描述】:

我想使用Set-Content cmdlet 的参数-Encoding 将文件的编码设置为ANSI,我尝试了这个但没有成功:

Set-Content -LiteralPath "$filePath" -Encoding Default

【问题讨论】:

    标签: powershell encoding powershell-2.0 ansi cmdlet


    【解决方案1】:

    PowerShell v2 无法识别参数 Default 的参数 -Encoding。使用参数Ascii 以ANSI 编码保存文件:

    Set-Content -LiteralPath "$filePath" -Encoding Ascii
    

    或完全省略参数(Set-Content 默认为 ANSI 编码):

    Set-Content -LiteralPath "$filePath"
    

    【讨论】:

    • 我试过这个,但是当我打开输出文件时,我看到它是用 UCS-2 littleEndian 编码的
    • @ZakariaBelghiti 这显然是不可能的。请提供证据。
    【解决方案2】:

    我为此使用.NET WriteAllText 函数:

    [IO.File]::WriteAllText($filePath, (Get-Content $filePath))
    

    使用以下方法确保默认编码反映您想要的输出:

    [System.Text.Encoding]::Default
    

    否则,将具有所需编码的枚举添加为第三个参数。

    【讨论】:

    • 不行,说找不到参数-raw,可能是PowerShell 2.0不支持
    • 啊好吧,尝试使用没有它的get-content
    • 你得到什么编码?
    • UCS-2 littleEndian
    猜你喜欢
    • 2014-03-04
    • 1970-01-01
    • 2019-12-23
    • 1970-01-01
    • 1970-01-01
    • 2010-09-09
    • 2012-05-02
    • 2012-06-09
    • 2011-07-08
    相关资源
    最近更新 更多