2016-08-13 92 views
1

我想使用PowerShell 2.0創建一個屬性文件。創建沒有BOM的屬性文件

我使用下面的操作:

echo SLAVE1=$MAIN_DB >result.properties 
echo SLAVE2=$WB_DB >>result.properties 

但文件是在錯誤的編碼得到創建(我相信「隨着BOM」)。有沒有什麼辦法可以做我的上述操作和創建的文件是在沒有BOM的UTF-8編碼?

+0

我找到了解決辦法[這裏](一http://superuser.com/問題/ 397890 /轉換 - 文本文件遞歸到UTF-8合PowerShell中)。謝謝你的時間。 –

回答

0

通過您的代碼,PowerShell 5.0和Windows 10,我得到了UCS-2 LE BOM作爲寫入文件的編碼。

嘗試:

echo SLAVE1=$MAIN_DB | Out-File result.properties -Encoding utf8 
echo SLAVE2=$WB_DB | Add-Content .\result.properties 

的cmdlet「出文件」和「添加內容」有兩個-Encoding參數在這裏你可以「統一」,「UTF7」,「UTF8」之間進行選擇,「 UTF32「,」ASCII「,」BigEndianUnicode「,」默認「和」OEM「。

如果結果的編碼是不是你想要的我認爲你使用.NET類一樣顯示在Using PowerShell to write a file in UTF-8 without the BOM