使用 UTF8 编码的输出数组

Output Array With UTF8 Encoding

我是 运行 一个 powershell 脚本,它从 Active Directory 中提取列表并写入 CSV 文件。 ó 等特殊字符被写为“?”即使它们在 Active Directory 中是正确的。我可以强制使用 UTF8 编码吗?

相关代码:

$array | Select-Object Username, GivenName, Surname, Name, EmailAddress, Department, Title, ManagerName | Export-Csv -Path $csvoutput -NoTypeInformation

Export-CSV 有一个参数 -Encoding,指定导出的 CSV 文件的编码。在 PowerShell 5 中默认值为 ASCII,在 PowerShell 7 中默认值为 utf8NoBOM

假设您使用的是 PowerShell 5,您的代码将是:

$array | 
    Select-Object Username, GivenName, Surname, Name, EmailAddress, Department, Title, ManagerName | 
    Export-Csv -Path $csvoutput -NoTypeInformation -Encoding UTF8