对我来说,实际上是“-Encoding utf8BOM”完成了这项工作
环境:Windows 10 20H2 German, German Excel Version, PowerShell 7
如果我不使用 utf8BOM,我的德语 Excel 没有正确显示“变音符号”。
关于带或不带 BOM 的 UTF8 有一个完整的讨论
实际上“Marius”写了以下评论:“它可能不推荐,但它在尝试输出“æøå”时对我的powershell脚本产生了奇迹”
“C:\sources\new_18.json”采用 UTF-8 格式(它是一个简单的 JSON 文件)
"-Delimiter ";"" 用于德语 Excel
$TestVariable = (Get-Content -raw -Encoding UTF8 "C:\sources\new_18.json") | ConvertFrom-Json
$TestVariable.value | Export-Csv "C:\sources\PSOutput\Output_$((Get-Date).ToString('MM-dd-yyyy_hh-mm-ss')).csv" -NoTypeInformation -Delimiter ";" -Encoding utf8BOM
对于 PowerShell 5:将“-Encoding utf8BOM”更改为“-Encoding utf8”(在 Powershell 5 中“Export-Csv -Encoding utf8”将文档保存为 utf8BOM”)