带有特殊字符的C#字符串到MySQL varchar列

时间:2012-12-06 10:51:15

标签: c# mysql database special-characters

我正在尝试将以下字符串从C#应用程序添加到MySQL数据库中的varchar列。

"TVCM | AU「FULL CONTROL/XMAS」篇 60秒"

它最终会像这样

"TVCM | au?FULL CONTROL/Xmas???60?"

我在my.ini中设置了default-character-set = utf8,并为数据库,表格和列设置了DEFAULT CHARSET为utf8。

插入字符串的代码如下所示 (其中title的值为TVCM | AU「FULL CONTROL/XMAS」篇 60秒

string sqlQuery = "insert into myTable (Title) values (?Title)";
MySqlCommand command = m_connection.CreateCommand();
m_connection.Open();
command.CommandText = sqlQuery;
command.CommandType = CommandType.Text;
command.Parameters.Add(new MySqlParameter("?Title", title));
command.ExecuteNonQuery();
m_connection.Close();

另外,我正在使用MySQL Connector.NET 6.6.4。

知道我的问题是什么吗?

2 个答案:

答案 0 :(得分:4)

我相信您也可以在连接字符串中指定字符集 - 检查您的连接字符串是否明确指定"charset=utf8"

答案 1 :(得分:0)

问题必须在开发环境的charset中,Visual Studio的默认文件编码取决于Windows设置。以下是您可以更改的位置。

控制面板|区域和语言选择|高级|英语可以从下拉列表中更改语言。