UTF8编码不带BOM - PowerShell

5

我有一个批处理文件,在其中对一些CSV文件进行编码。问题在于,一旦完成编码,文件开头会有一个字符(BOM字节)。这个字符让我很困扰,因为编码后,我使用该文件生成数据库。以下是编码的命令行代码(在批处理文件中):

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

有没有一种方法可以编码文件而不包含BOM(如果这是问题的原因)?谢谢!
1个回答

5
我找到了解决方案。 只需更改此行代码:
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

2
你能解释一下语法吗? - yashhy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接