[Mono-list] ByteFX, mysql and UTF-8?

Keith Dreibelbis kd@techhouse.brown.edu
Mon, 26 Jul 2004 19:49:11 -0400 (EDT)

Hi there,

Has anyone had success with getting ByteFX (mysql) to work with UTF-8?  I
am using ByteFX 7.6 with mysql 4.1.  I know there are a bunch of places to
tell mysql to use UTF-8, ("character_set_client",
"character_set_database", individual columns/tables etc) and I have tried
setting just about all of them.  (though maybe I'm missing one?)

In looking at the ByteFX source, I wonder if my problem has to do with
differences between mysql 4.0 and mysql 4.1.  It seems like 4.0 had a
single "character_set" variable to set, while 4.1 has a bunch of
"character_set_*" variables to set.  ByteFX's ConnectionInternal.cs:83
seems to be looking for a single "character_set" variable to determine
encoding, 4.0 style.  Is there a newer version of ByteFX I should be
using, or a patch for 4.1?  I'd try making the change in
mcs/classes/ByteFX.Data myself, but I can't seem to get it to compile.

This is the exception I get on a SELECT:

Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and
(utf8_general_ci,COERCIBLE) for operation '='
in <0x000dc> ByteFX.Data.MySqlClient.Driver:ReadPacket ()
in <0x00086> ByteFX.Data.MySqlClient.Driver:Send
in <0x000b7> ByteFX.Data.MySqlClient.MySqlCommand:ExecuteBatch (bool)
in <0x0005a> (wrapper remoting-invoke-with-check)
ByteFX.Data.MySqlClient.MySqlCommand:ExecuteBatch (bool)
in <0x00077> ByteFX.Data.MySqlClient.MySqlDataReader:NextResult ()
in <0x0005d> (wrapper remoting-invoke-with-check)
ByteFX.Data.MySqlClient.MySqlDataReader:NextResult ()
in <0x00156> ByteFX.Data.MySqlClient.MySqlCommand:ExecuteReader
in <0x00054> (wrapper remoting-invoke-with-check)
[... etc etc ...]

Does anyone have any thoughts or experience with this?  Apologies if this
has already been answered elsewhere.