2015-04-02 50 views
-1

我从平面文件(文本文件)导入数据。我不知道他们将使用哪种编码,它可能是unicode,也可能是ASCII。如果我在集成包中选择“Unicode字符串[DT_WSTR]”(或unicode数据),会发生什么情况。它能够在没有问题的情况下读取ASCII码吗?我正在使用SSIS 2012.如果将集成包设置为Unicode,会发生什么情况?

+0

你应该根据你的目标数据类型使用,因为我会抛出unicode和非unicade数据之间的错误的冲突.... – 2015-04-03 07:02:20

回答

0

如果我在集成包中只选择“Unicode字符串[DT_WSTR]”(或unicode数据),会发生什么情况。它能够在没有问题的情况下读取ASCII码吗?

微软误导性地称为“Unicode”的编码实际上是UTF-16LE,一种基于两字节代码单元的编码。

UTF-16LE与ASCII(或任何特定于语言环境的ANSI代码页)不兼容,所以如果读取文件时实际上是在ASCII超集中进行编码,那么您将得到无法读取的废话。

对于从文件中读取字符没有魔术“做正确的选择”选项,您知道用什么编码来创建它们。如果您可以在数据的正面看到经过编码的字节顺序标记,通常可以让您做出正确的猜测,但是否则您自己就可以了。

+0

感谢您的答案。是否有可以读取“字节顺序标记”的步骤/工具?我从来没有听说过,我会研究,但如果SSIS中有一个步骤/工具可以识别,那就太好了。 – LearnByReading 2015-04-06 12:35:19

相关问题