【问题标题】:UTF8 encoding without BOM - PowerShell没有 BOM 的 UTF8 编码 - PowerShell
【发布时间】:2013-07-15 23:56:37
【问题描述】:

我有一个 bat 文件,我在其中编码了一些 CSV 文件。问题是一旦编码完成(我猜是BOM字节),文件开头就有一个字符。这个字符困扰着我,因为编码后,我使用这个文件来生成一个数据库。 这是编码的行(在bat文件中):

powershell -Command "&{ param($Path); (Get-Content $Path) | Out-File $Path -Encoding UTF8 }" CSVs\\pass.csv

有没有办法在没有 BOM 的情况下对文件进行编码(如果这是问题所在)??

谢谢!

【问题讨论】:

    标签: powershell encoding utf-8 cmd byte-order-mark


    【解决方案1】:

    我找到了解决方案。 只需将这一行改为:

    powershell -Command "&{ param($Path); $Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding($False); $MyFile = Get-Content $Path; [System.IO.File]::WriteAllLines($Path, $MyFile, $Utf8NoBomEncoding) }" CSVs\\pass.csv
    

    【讨论】:

    • 你能解释一下语法吗?
    猜你喜欢
    • 1970-01-01
    • 2014-04-04
    • 2023-04-02
    • 1970-01-01
    • 2014-07-18
    • 2012-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多