Bug #27502 | UTF characters inserts into tables as "???" (c# + connector/net) | ||
---|---|---|---|
Submitted: | 28 Mar 2007 15:44 | Modified: | 13 Apr 2007 14:05 |
Reporter: | Psy After | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | Connector / NET | Severity: | S2 (Serious) |
Version: | 5.0.23 | OS: | Any (unix) |
Assigned to: | CPU Architecture: | Any |
[28 Mar 2007 15:44]
Psy After
[28 Mar 2007 15:45]
Psy After
MySql version is 5.0.23 connector/net version - tried with 5.0.3,5.0.5,5.0.6
[13 Apr 2007 14:05]
Tonci Grgin
Hi and thanks for your report. I am unable to verify it: - MySQL 5.0.38BK on WinXP Pro SP2 - c/Net 5, latest sources, NET FW 2.0 Server version: 5.0.38-log Source distribution mysql> show variables like "%char%"; +--------------------------+-----------------------------+ | Variable_name | Value | +--------------------------+-----------------------------+ | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | latin1 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | C:\mysql507\share\charsets\ | +--------------------------+-----------------------------+ Test case: using (MySqlConnection c = new MySqlConnection("DataSource=localhost;Database=test;UserID=root;Password=;PORT=3306;charset=utf8")) { c.Open(); MySqlCommand cmd = new MySqlCommand("DROP TABLE IF EXISTS testbug25528", c); cmd.ExecuteNonQuery(); cmd.CommandText = "CREATE TABLE testBug25528(" + "Id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY," + " translationValue char(255)" + "\n)ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; cmd.ExecuteNonQuery(); cmd.CommandText = "insert into testBug25528 values(NULL,'Mössbauer Effect')"; cmd.ExecuteNonQuery(); cmd.CommandText = "insert into testBug25528 values(NULL,'Some Cro chars: ŠĐČĆŽšđčćž')"; cmd.ExecuteNonQuery(); cmd.CommandText = "SELECT * FROM testBug25528"; cmd.ExecuteNonQuery(); MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM testbug25528", c); DataTable dt = new DataTable(); da.Fill(dt); Assert.AreEqual(2, dt.Columns.Count); Assert.AreEqual(2, dt.Rows.Count); DisplayData(dt); Console.WriteLine("Done."); dt.Clear(); da.Dispose(); c.Close(); } private static void DisplayData(System.Data.DataTable table) { foreach (System.Data.DataRow row in table.Rows) { foreach (System.Data.DataColumn col in table.Columns) { Console.WriteLine("{0} = {1}", col.ColumnName, row[col]); } Console.WriteLine("============================"); } } Output: Id = 1 translationValue = Mössbauer Effect ============================ Id = 2 translationValue = Some Cro chars: ŠĐČĆŽšđčćž ============================ Done. If you can provide me with more info regarding this, please reopen the report.