如何将文本文件转换为UTF-8," bcp ... queryout -cC65001 ..."不起作用

时间:2018-01-19 02:08:24

标签: sql-server sql-server-2016 bcp

我正在处理商店程序(MSSQL 2016),尝试使用xp_cmdShell输出文本文件。

这是脚本的一部分:

declare @bcpstr varchar (1000);

set @bcpstr = ''

set @bcpstr = 'bcp "select * from [table_name]''" queryout ' + @file_path + 'headonly.txt -t , -cC 65001 -U' + @user+' -P' + @pwd+' -S '+ @server_name

Exec Master ..xp_cmdShell @bcpstr

但我得到的是ANSI文本文件headonly.txt

有什么建议吗?非常感谢!!

1 个答案:

答案 0 :(得分:0)

据我所知,开关应该是-c -C65001,而不是-cC65001

再试一次

set @bcpstr = 
    'bcp '+
        '"select * from [table_name]" '+
        'queryout "'+@file_path+'headonly.txt" '+
        '-t, '+
        '-c '+
        '-C65001 '+
        '-U '+@user+' '+
        '-P '+@pwd+' '+
        '-S '+@server_name;

PS:我在文件路径周围添加了双引号以容纳路径中的空格,否则您的语句将失败。