创建没有BOM的属性文件

时间:2016-08-13 09:40:17

标签: powershell utf-8 powershell-v2.0 byte-order-mark

我正在尝试使用PowerShell 2.0创建属性文件。

我正在使用以下操作:

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

但该文件是以错误的编码创建的(我相信"使用BOM")。有什么方法可以进行上面的操作,创建的文件是UTF-8编码没有BOM吗?

1 个答案:

答案 0 :(得分: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' Out-File'和'添加内容'这里有-Encoding参数你可以选择" Unicode"," UTF7"," UTF8"," UTF32",&#34 ; ASCII"," BigEndianUnicode","默认"和" OEM"。

如果结果中的编码不是您想要的编码,我认为您可以使用Using PowerShell to write a file in UTF-8 without the BOM中显示的.Net类