2017-04-04 98 views
2

的SQL Server 2016导入和导出向导使用SQL Server导入向导导致怪异字符

源导入数据的平面文件(.txt):

enter image description here

enter image description here

请注意第3栏中的数据:应该为法兰西岛

+0

如何定义列?他们varchar而不是nvarchar?并且该文本文件是一个unicode文件? – GuidoG

+0

不知道:我应该在哪里看到或更改列数据类型定义? – Luke

+0

我从来没有使用导入向导,所以我不知道。但是你的问题似乎与unicode相关。文本文件是unicode文件吗?你可以检查,当在记事本中打开。如果是这样,您还可以将向导中的设置修改为unicode – GuidoG

回答

0

这是在UTF8编码导入制表符分隔文本的正确步骤。

而不是检查“统一”在向导的冷杉页,(这是相当混乱,因为UTF-8“是”的Unicode),不要选择它,然后选择代码页65001

enter image description here

现在字符正在正确可视化:

enter image description here

0

这是Unicode错误,y字不能正确显示。转到高级选项卡,选择您的第三列,如图1所示: enter image description here

选择数据类型字符串“文本流[DT_TEXT]”,如果“文本流[DT_TEXT]”不会工作,那么请尝试与其他数据类型也。 REF此图:

enter image description here

+0

有四种文本数据类型可供选择:字符串(DT_STR),文本流(DT_TEXT),Unicode字符串(DT_WSTR)和Unicode文本流(DT_NTEXT)。不幸的是,他们都没有解决问题。 源文件数据格式是以utf8编码制表符分隔的文本。 – Luke

+0

你能否再次检查你的输入文本文件..可能是你的文本文件中的问题。 –

+0

这只是来自geonames.org的许多其他文件的示例。他们都显示与MS SQL Server导入向导相同的“问题”。它们都是使用utf8编码的制表符分隔的文本,我可以正确地读取它们任何平面文件阅读器(例如Notepad ++),问题似乎在MS SQL Server导入向导中无法正确解释它们。现在,我知道MS SQL服务器可能不是最好的导入工具,但它是免费的。任何人都可以建议我一个自由的选择? – Luke

相关问题