如何将管道转换为CSV格式并指定UTF-8编码

use*_*976 4 powershell powershell-ise powershell-2.0

在Windows PowerShell脚本中,我想执行将管道转换为CSV格式的代码,编码应为UTF-8.我怎样才能做到这一点?

Adi*_*bar 15

将其添加到管道的末尾:

| Export-Csv -Encoding UTF8
Run Code Online (Sandbox Code Playgroud)

就这么简单.

-Encoding参数可用于输出到file--任何cmdlet的出文件,设置内容,添加内容,出口-CLIXML,可能是一些其他我没有想到的.需要注意的是,对于UTF16,你需要指定Unicode而不是UTF16(我认为后者更有意义,至少应该作为同义词提供,但显然微软没有).完整的选项列表是:

Unicode,UTF7,UTF8,ASCII,UTF32,BigEndianUnicode,Default,OEM
Run Code Online (Sandbox Code Playgroud)

几个笔记:

  • ASCII 从技术上讲,它不提供ASCII编码,它为您提供Windows代码页1252(基于扩展ASCII,通常非正式地称为ASCII).
  • Default为您提供系统默认选项中的其他选项.您可以找出默认值[System.Text.Encoding]::Default.