Import UTF-8 file to SQL Server

来源:互联网 发布:nginx 默认时间格式 编辑:程序博客网 时间:2024/05/18 08:20

事实上SQL Server不支持UTF-8,仅支持UTF-16.

http://stackoverflow.com/questions/5498033/how-to-write-utf-8-characters-using-bulk-insert-in-sql-server


因此要想导入UTF-8到SQL Server,需要以下步骤。

1, 将文件转换成UTF-16.

转换的方式很多。有很多online的转换器,但是更方便的是使用notepad++:

使用notepad++打开源文件->encoding。此时应该看到当前编码是UTF-8或UTF-8 with BOM。选择UCS-2,然后保存即可。UCS-2和UTF-16非常相似,有一点小区别一般可忽略不计。

2, 创建目标表。

在数据库中创建数据导入的目标表。注意数据类型要选择nchar或nvarchar。下面这篇文章解释了原因:

http://blog.csdn.net/onlyqi/article/details/28418879

3, 使用bulk insert导入数据。

BULK INSERT DELLAPJ_CHINESE_PRC_STROKE.dbo.test1   FROM 'C:\Users\886981\Desktop\test.csv'   WITH      (         FIELDTERMINATOR =',',         ROWTERMINATOR ='\n',         DATAFILETYPE = 'widechar'      );

这里注意如果设置codepage为65001,既UTF-8,则SQL Server会明确报错说不支持该字符集。


最后我想强调一点,在import/export wizard中可以选择code page为65001, 但是我从来没成功导入过。。。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 绣花机速度太慢怎么办 娃脖子有点烂了怎么办 7月省内流量套餐怎么办 qq手游授权失败怎么办 钉钉不够6人创建怎么办 钉钉 不够6个人怎么办 plsql删错了表怎么办 吊兰长出来的茎怎么办 防水台鞋跟太高怎么办 证件照头部比例过大怎么办 特岗照片传错了怎么办 打印报名表照片不显示怎么办 刚买的床有味道怎么办 雨刷器角度太小怎么办 四个月宝宝闹觉怎么办 怀孕六个月睡不好觉怎么办? 婴儿睡不好觉总是吵闹怎么办 婴儿鼻塞睡不好觉怎么办 玩英雄联盟鼠标变亮白怎么办 练芭蕾脚受伤了怎么办 高三了英语30分怎么办 要上高中了英语不好怎么办 高二了数学不好怎么办 高二函数不好怎么办啊 输乳怎么办腺病有什么妇症状 屁股上坐的发黑怎么办 车屁股撞了个洞怎么办 腰压迫的腿疼怎么办 肩胛提肌固定不住怎么办 胳膊粗后背肉多怎么办 2岁儿童 肋骨边缘外翻怎么办 5岁宝宝盆骨前倾怎么办 脖子弯了像驼背怎么办 都40周了还没生怎么办 股骨头坏死骨盆歪了怎么办 二胎侧切伤口疼怎么办 小月子盆骨酸痛怎么办 盆骨一边大一边小怎么办 快生了宫颈管长怎么办 想顺产 宫颈管长怎么办 腰和跨一样宽怎么办