【发布时间】:2019-11-12 23:44:34
【问题描述】:
【问题讨论】:
标签: utf-8 powerbi snowflake-cloud-data-platform
【问题讨论】:
标签: utf-8 powerbi snowflake-cloud-data-platform
我怀疑您有 Windows-1252“Latin 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 字符代码点(肤色表情符号是长字节序列的示例)。起始字节告诉 utf8 序列有多长,后面的字节都包含两个连续位 10*。如果起始字节无效或正确数量的后续字节没有连续位,则说明您的 utf8 编码无效。
这怎么会发生?在某些字符编码中,每个字节序列都是合法的,例如 8 位 iso-8859-1 “ISO latin 1”或其扩展表亲 Windows-1252。如果你声明这个字节序列是 utf8 而不是 iso-8859-1,你突然得到一个可能包含无效 utf8 的字节序列(因为它实际上是 Windows-1252 编码)。
根据您的错误消息,没有合法的 utf8 字符编码以字节 HEX(92) 开头,这是一个“后续”字节。
【讨论】: