在Power Bi中导入雪花数据时出现utf-8错误

elf*_*rsi 0 utf-8 powerbi snowflake-cloud-data-platform

我正在使用Power Bi雪花连接器从各种表中导入数据。虽然适用于某些表,但不适用于具有特殊字符的特定表。这是我得到的错误。你能帮我吗?最好在此处输入图片说明

Han*_*sen 5

我怀疑您具有Windows-1252“拉丁1 Windows”编码数据,即Microsoft的iso-8859-1 / ECMA-94 的拥抱和扩展版本。数据以某种方式以utf8的形式呈现给Power BI连接器。正确声明所有内容后,正确的软件(ICU?)将正确地转换为Unicode并编码为utf8,然后再将数据发送到Snowflake。

您有两种选择:

  1. 修正源代码(例如正确或声明正确的编码),或
  2. 导入为二进制数据,并在到达Snowflake后尝试修复。

我最好的建议是1.-在导入到Snowflake之前将其重新编码为utf8。

您不能将不是有效字符序列的内容放入文本字​​段。在这种情况下,您将获得不是有效字符的错误数据,因此无法将其存储为文本。

怎么会这样?这全都与编码有关。 utf8字符是最多6个字节的链接字节序列,该序列被解码为1-5个有效字节Unicode字符代码点(skintone表情符号是长字节序列的示例)。起始字节表明utf8序列有多长,随后的字节均包含两个连续位10 *。如果起始字节无效或正确的后续字节数没有连续位,则您的utf8编码无效。

怎么会这样呢?在某些字符编码中,每个字节序列都是合法的,例如8位iso-8859-1“ ISO latin 1”或其扩展的表亲Windows-1252。如果您声明此字节序列是utf8而不是iso-8859-1,则您突然得到了一个可能包含无效utf8的字节序列(因为它实际上是Windows-1252编码)。

从您的错误消息开始,没有合法的utf8字符编码,字节HEX(92)开始,该字节为“后续”字节。