2021-05-31

Powershell Out-File 預設編碼 UCS-2 LE BOM 問題 (改成 UTF-8)

PowerShell 中最單純的 Out-File 指令建立出來的文字檔預設是沒見過的 UCS-2 LE BOM
為了處理這個問題要改成以下寫法:

$Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding $False;
[System.IO.File]::WriteAllLines(('C:\Temp\Test.txt'), (Get-Date), $Utf8NoBomEncoding);

其中 WriteAllLines
第一個參數是路徑+檔名
第二個參數是要寫入的內容
第三個參數是叫他用 UTF-8 with No BOM 編碼

沒有留言:

張貼留言