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
資料行的參數。