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