[SQL Server]2008版本的bcp,bulk insert命令不支持UTF8文件.2005版支持.

来源:互联网 发布:c语言输出单引号 编辑:程序博客网 时间:2024/06/01 19:18

SQL Server 2008版本的bcp,bulk insert命令不支持UTF8文件.2005版支持.

SQL Server 2008最新的联机帮助中有指出不支持utf-8http://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 行受影响)