0

我正在尝试输出一堆数据并有一些德语变音符号:ä、ö、ü、.. 我在 Export-Csv 的末尾添加了 -Encoding UTF8,但它并没有真正起作用。我的代码:

For ($i = 0; $i -lt $accFileCont.Length; $i++) {
        $accFileCont[$i] | Export-Csv $outAccFile -NoTypeInformation -Encoding UTF8
    }

我期待ä,ö,ü......而不是“ä”,......这里有什么问题?它不输出元音变音。提前致谢 :)

4

1 回答 1

1

对我来说,实际上是“-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”)

于 2021-02-10T11:46:37.683 回答