SQLServer导入.CSV数据文件乱码问题多余双引号问题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQLServer导⼊.CSV数据⽂件乱码问题多余双引号问题
有时候我们需要从Excle中的数据导⼊到sql server中⽽sql server恰好没安装Excle的数据导⼊插件,这时候我们可以选择将Excle⽂件中每⼀个sheet转换成.CSV或者.TXT⽂件导⼊sql server数据库中,然⽽在导⼊过程中肯定都会遇到⼀系列问题:字符编码导致的乱码问题、导⼊数据突然多出莫名其妙的引号分号等问题,下⾯介绍⼀下导⼊过程中容易踩坑的地⽅以及其解决⽅法.
1、导⼊数据中⽂乱码问题:
出现中⽂乱码问题的地⽅⼀般有2个:
1、数据源⽂件的编码(.CSV .TXT.........)
我们⾸先需要确定的是,我们从excle中另存的数据⽂件当时是按什么编码进⾏存储的,是Unicode编码还是UTF-8编码存储的,很多⼈往往在保存的时候不注意⽂件的编码从⽽导致在导⼊数据库的时候才发现问题。
保存的时候看好时按什么字符集编码的!
当然如果数据库是按照Unicode编码的我们想要从Excle导出⼀个Unicode编码的.CSV⽂件怎么办呢?
解决⽅法:
先将保存的.csv⽂件改成.txt⽂件然后打开它另存为,txt⽂件的另存为可以选择⽂件字符编码集,操作如下:
保存完成后去数据库导⼊该.CSV⽂件
2 数据库导⼊存在多余符号问题
有时候我们在导出excle⽂件数据后会出现所有数据都在⼀⾏的问题例如下图这种情况
这种数据在导⼊数据库的时候会出现多余分号(")问题如下情形
SQL 导⼊.CSV⽂件
我们会发现每⼀⾏的⾸尾都会出现⼀个多余的双引号(".............."),这种情况如何处理
处理⽅案:
注意这⾥如果是单⼀列出现多余分号使⽤⽂本限定符号是可⾏的,但是这种情况下不能使⽤⽂本限定符进⾏操作,我们需要将你的数据源⽂件(.CSV)转换成.txt⽂件然后⽤查
找替换的⽅式将所有的双引号替换成空即可!
如果是单⼀列出现这种多余的符号问题我们只需要在⽂本限定符中添加该符号即可过滤筛选!
过滤完成后即可看到正常数据
然后点击下⼀步,选择你要导⼊的数据库
点击下⼀步完成即可成功导⼊,
注意:有些数据在导⼊的时候默认类型类nvarchar(50)如果个别字段超出长度就会发⽣导⼊报错,这时候你需要在导⼊的时候设置⼀下每个字符串的最⼤长度,根据长度不宜选过⼤,也不宜过⼩。