我正在使用Powershell cmdlet export-csv将sqlserver查询的结果导出到.txt文件。当我使用文本编辑器(记事本)查看结果行时,结果行符合我的期望,如下所示:
Account|Representative|Note
但是,当我使用二进制文件格式(在TextPad中)打开文件时,我看到结果行中散布着额外的字符(不确定它们是句点还是空格),如下所示:
A.c.c.o.u.n.t.|.R.e.p.r.e.s.e.n.t.a.t.i.v.e.|.N.o.t.e.
我尝试为export-csv的编码参数指定不同的值,包括UTF32,UTF8,ASCII和Unicode,但无法删除多余的字符。
我有其他生成文件的方法(SSIS包),但是特别想让这个Powershell选项工作,以便为支持导出的组提供帮助。
提前感谢您提供的任何帮助。
答案 0 :(得分:1)
在记事本中打开文件,然后单击文件→另存为... 。字段编码的预选值将告诉您使用了哪种编码(可能是Unicode
)。不过,Export-Csv -Encoding ASCII
应该注意这一点。您也可以尝试重新编码这样的文件:
Get-Content generated.txt | Out-File -Encoding ASCII converted.txt
如果这没有帮助,请使用十六进制编辑器打开文件,并使用前几个字节更新您的问题(第一行应该足够)。