我有 MySQL 数据库,其中表MySqlTable编码为 utf8_slovak_ci,我想通过 C# 代码插入带有变音符号字符(ľščťžýáí...)的字符串。
我正在使用 MySql.Data.MySqlClient 命名空间来允许 MySql 对象。我的 C# 方法:
public void Insert(string sqlQuery, params string[] strings)
{
MySqlCommand command = new MySqlCommand(sqlQuery, connection);
for (int i = 0; i < strings.Length; i++)
{
command.Parameters.Add(new MySqlParameter("@str" + i, strings[i]));
}
try
{
connection.Open();
command.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Chyba!", MessageBoxButton.OK, MessageBoxImage.Error);
}
finally
{
connection.Close();
}
}
从程序中调用此方法:
database.Insert(query, newEmployee.Name);
查询在哪里
string query = @"INSERT INTO MySqlTable(name) " +
"VALUES(@str0)";
问题出在哪里......当我尝试插入一些包含特殊字符(fe Anča)的字符串时,它会像Anca一样保存在数据库中。但是当我通过 phpmyadmin 执行相应的 INSERT 查询时,它被正确保存。问题字符只是ľčťďň(保存为lctdn),其他字符(如šžýáíéúäô保存好)。有谁知道哪里有问题?谢谢