SQL Server 2008版本的bcp,bulk insert命令不支持UTF8文件.2005版支持.
SQL Server 2008最新的联机帮助中有指出不支持utf-8:http://technet.microsoft.com/zh-cn/library/ms188365.aspx
用windows自带的记事本编辑文件,内容如下, 另存为 D:/test.txt,编码UTF-8
204|汉字|1
227|中文|2
718|eng|3
109|kor|4
-- 开始数据库导入,并输出结果
create table tmp_20110301(col1 nvarchar(100),
col2 nvarchar(100) COLLATE Chinese_PRC_CI_AS null, col3 int)
bulk insert tmp_20110301 from 'd:/test.txt'
with(codepage=65001, -- 2008版最新在线联机帮助中,明确指出不支持UTF8(65001)
datafiletype='char',
fieldterminator='|',rowterminator='/n')
select * from tmp_20110301
drop table tmp_20110301
2005版本返回结果集如下
-----------------------------------------------------
204 汉字 1
227 中文 2
718 eng 3
109 kor 4
(4 行受影响)
2008版本返回结果集如下
----------------------------------------------------
锘?04 姹夊瓧 1
227 涓枃 2
718 eng 3
109 kor 4
(4 行受影响)