答案 0 :(得分:5)
我怀疑您具有Windows-1252“拉丁1 Windows”编码数据,即Microsoft的embrace-and-extend版本的iso-8859-1 / ECMA-94。数据以某种方式以utf8的形式呈现给Power BI连接器。正确声明所有内容后,正确的软件(ICU?)将正确地转换为Unicode并编码为utf8,然后再将数据发送到Snowflake。
您有两种选择:
我最好的建议是1.-在导入到Snowflake之前将其重新编码为utf8。
您不能将不是有效字符序列的内容放入文本字段。在这种情况下,您将获得错误的数据,这些数据不是有效字符,因此无法将其存储为文本。
怎么可能?这全都与编码有关。 An utf8 character是一个最多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),即“后续”字节。