| Bug #6322 | #HY000Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ | ||
|---|---|---|---|
| Submitted: | 29 Oct 2004 16:54 | Modified: | 9 Nov 2004 22:51 |
| Reporter: | kris Bekkers | ||
| Status: | Closed | ||
| Category: | Connector/Net | Severity: | S1 (Critical) |
| Version: | mysql-connector-net-1.0.1-beta | OS: | Microsoft Windows (WinXP (no sP2)) |
| Assigned to: | Reggie Burnett | Target Version: | |
[29 Oct 2004 16:54]
kris Bekkers
[29 Oct 2004 18:14]
kris Bekkers
I believe the problem lies in the configure method (driver.cs) . However I may be wrong.
It writes
string charSet = null;
if (!version.isAtLeast(4,1,0))
{
if (serverProps.Contains( "character_set" ))
charSet = serverProps["character_set"].ToString();
}
else
{
charSet = "utf8";
cmd.CommandText = "SET NAMES utf8; SET character_set_results=NULL";
cmd.ExecuteNonQuery();
}
However, I think it should write
string charSet = null;
if (version.isAtLeast(4,1,0)) <<======
{
if (serverProps.Contains( "character_set_server" )) <<===============
charSet = serverProps["character_set_server"].ToString(); <<=============
}
else
{
charSet = "utf8";
cmd.CommandText = "SET NAMES utf8; SET character_set_results=NULL";
cmd.ExecuteNonQuery();
}
but again, I maybe wrong.
[2 Nov 2004 13:25]
Ringo
I get this error while send the following sql statement
SELECT * FROM table1 WHERE Valid = 'Y' AND UserCode = 'username' AND Password =
AES_ENCRYPT('Password','abc')
The Normal Select statement is ok but use THE Function AES_ENCRYPT OR AES_DECRYPT
have error.
The Connector Beta 1.0.0 is ok but 1.0.1 error
[5 Nov 2004 15:41]
Bob Dankert
Same problem here: MySql.Data.MySqlClient.MySqlException: #HY000Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' at MySql.Data.MySqlClient.MySqlDataReader.NextResult() at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior) at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader() at MyDBTools.DBExecute.executeMySqlQuery(DBConnect connection, String DBSQL)
[9 Nov 2004 22:51]
Reggie Burnett
Thank you for your bug report. This issue has been committed to our
source repository of that product and will be incorporated into the
next release.
If necessary, you can access the source repository and build the latest
available version, including the bugfix, yourself. More information
about accessing the source trees is available at
http://www.mysql.com/doc/en/Installing_source_tree.html
Additional info:
This item is fixed but the user should really understand what is happening with the
character sets. The fix to this is to specify at connection time what character set to
use for sending all queries. Now, if the user wants to insert or use literals in the SQL
that should be sent as a different character set, the user will need to use a character
set introducer such as _utf8.
