我有以下工作代码:
Function DumpAssets {
Param(
[string]$DestinationPath = 'X:\path\to\dump_folder'
)
$SQLServer = "SQLSERVER123"
$SQLDBName = "SUPER_DB"
$SqlQuery = "SELECT * FROM Lorem_Ipsum"
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server = $SQLServer; Database = $SQLDBName; Integrated Security = True"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = $SqlQuery
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet) | Out-Null
$SqlConnection.Close()
$DataSet.Tables[0] | Export-Csv "$DestinationPath\dump.csv" -Force -NoTypeInformation
}
DumpAssets
该脚本按预期工作,我获得了包含Lorem_Ipsum
表中所有行的CSV。问题是我的数据带有重音并且它们无法正确显示,而是我得到了一堆?
,例如:SÃO PAULO
变为S?O PAULO
。如果我使用MS SQL Viewer,Power BI或任何其他可以访问数据库的工具打开表,它将正确显示。
如何修复我的代码以便输出格式正确?
答案 0 :(得分:1)
您可以使用参数Export-Csv
在<{1}}中指定编码:
-Encoding