如果将集成包设置为Unicode会发生什么?

时间:2015-04-02 17:19:40

标签: unicode ssis integration

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

1 个答案:

答案 0 :(得分:0)

  

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

Microsoft错误地称之为“Unicode”的编码实际上是UTF-16LE,这是一种基于双字节代码单元的编码。

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

从文件中读取字符没有神奇的“做正确的事”选项, 知道用什么编码来创建它们。如果您可以在数据的正面看到编码的字节顺序标记,通常可以让您做出好的猜测,但除此之外您就是自己的。