views:

192

answers:

3

I got a server error running a Data transfer component from Sql Server to MySql db. Error message reads as follows: [MySql][ODBC 5.1 Driver][mysqld-5.0.67-community-nt-log]Server does not support 4-byte encoded UTF8 characters. Source Sql Server table contain nvarchar columns, target MySql table contain varchar columns. Any expert shed some light on this one?

+1  A: 

"4-byte encoded UTF-8 characters" refers to characters with code point > 0xFFFF, i.e., ones whose code points don't fit within 16 bits (are outside the basic multilingual plane (BMP)). Many older systems don't support characters outside the BMP.

Characters outside the BMP are usually CJK characters; I don't know if that's the case with you here. :-)

Chris Jester-Young
+1  A: 

From the documentation:

Currently, MySQL support for UTF-8 does not include four-byte sequences. (An older standard for UTF-8 encoding is given by RFC 2279, which describes UTF-8 sequences that take from one to six bytes. RFC 3629 renders RFC 2279 obsolete; for this reason, sequences with five and six bytes are no longer used.)

wallyk
A: 

I've posted an answer for this issue in my blog:

http://abusleem.net

Sleem