Using PowerShell to write a file in UTF-8 without the BOM

前端 未结 13 1370
名媛妹妹
名媛妹妹 2020-11-22 06:25

Out-File seems to force the BOM when using UTF-8:

$MyFile = Get-Content $MyPath
$MyFile | Out-File -Encoding \"UTF8\" $MyPath

13条回答
  •  甜味超标
    2020-11-22 07:22

    Using .NET's UTF8Encoding class and passing $False to the constructor seems to work:

    $MyRawString = Get-Content -Raw $MyPath
    $Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding $False
    [System.IO.File]::WriteAllLines($MyPath, $MyRawString, $Utf8NoBomEncoding)
    

提交回复
热议问题