Treating Binary Blobs As UTF8
MySQL doesn't currently support 4 byte UTF8 sequences. This makes it difficult to represent some multi-byte languages such as Japanese. To try and alleviate this, Connector/Net now supports a mode where binary blobs can be treated as strings.
To do this, you set the 'Treat Blobs As UTF8' connection string keyword to yes. This is all that needs to be done to enable conversion of all binary blobs to UTF8 strings. If you wish to convert only some of your blob columns, then you can make use of the 'BlobAsUTF8IncludePattern' and 'BlobAsUTF8ExcludePattern' keywords. These should be set to the regular expression pattern that matches the column names you wish to include or exlude respectively.
One thing to note is that the regular expression patterns can both
match a single column. When this happens, the include pattern is
applied before the exclude pattern. The result, in this case,
would be that the column would be excluded. You should also be
aware that this mode does not apply to columns of type
BINARY
or VARBINARY
and also
do not apply to nonbinary BLOB
columns.
Currently this mode only applies to reading strings out of MySQL.
To insert 4-byte UTF8 strings into blob columns you will need to
use the .NET Encoding.GetBytes
function to
convert your string to a series of bytes. You can then set this
byte array as a parameter for a BLOB
column.