MySQL Connector/NET 发行说明
将二进制 Blob 视为 UTF8
在引入 4 字节 UTF-8 字符集 之前,MySQL 不支持 4 字节 UTF8 序列。这使得很难表示一些多字节语言,例如日语。为了尽量减轻这个问题,MySQL Connector/NET 支持一种模式,其中二进制 Blob 可以被视为字符串。
为此,您将 'Treat Blobs As UTF8'
连接字符串关键字设置为 true
。这就是启用将所有二进制 Blob 转换为 UTF8 字符串所需做的全部操作。要仅转换部分 BLOB 列,您可以使用 'BlobAsUTF8IncludePattern'
和 'BlobAsUTF8ExcludePattern'
关键字。将这些关键字设置为与要包括或排除的列名称匹配的正则表达式模式。
当正则表达式模式都与单个列匹配时,将先应用包含模式,然后再应用排除模式。在这种情况下,结果是该列被排除。此外,请注意,此模式不适用于类型为 BINARY
或 VARBINARY
的列,也不适用于非二进制 BLOB
列。
此模式仅适用于从 MySQL 读取字符串。要将 4 字节 UTF8 字符串插入 Blob 列,请使用 .NET Encoding.GetBytes
函数将您的字符串转换为一系列字节。然后,您可以将此字节数组设置为 BLOB
列的参数。