[Mono-list] ByteFX, mysql and UTF-8?
Mon, 26 Jul 2004 19:49:11 -0400 (EDT)
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)
in <0x00077> ByteFX.Data.MySqlClient.MySqlDataReader:NextResult ()
in <0x0005d> (wrapper remoting-invoke-with-check)
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.