将查询结果导出为UTF-8中的csv

时间:2014-09-07 06:40:12

标签: sql sql-server sql-server-2008 csv bcp

我想在utf-8中将查询结果导出到csv文件。现在我以这种方式导出到csv:

    DECLARE @cmd varchar(1000)
    SET @cmd = 'bcp "select * from table" queryout "d:\textfile.csv" -w -T -t; -Slocalhost'
    EXEC xp_cmdshell @cmd

如何使文件为UTF-8?

2 个答案:

答案 0 :(得分:1)

SQL Server不支持代码页65001(UTF-8编码)。 reference

您需要在bcp实用程序中添加-w参数,以指定编码为UTF16

答案 1 :(得分:0)

我相信你早已解决了你的问题,但由于这仍然是开放的,认为它可能有助于其他人。

我正在使用SQL Server查询创建txt文件,它们似乎是“普通ANSI”。最后我用iconv.exe从WINDOWS-1252转换为UTF-8

iconv.exe是GnuWin软件包的一部分,可以从Sourceforge https://sourceforge.net/projects/gnuwin32/下载