utf8_slovak_ci でエンコードされたテーブルMySqlTableを含むMySQL データベースがあり、C# コードを介してスロバキア語に典型的な分音符号文字 (ľščťžýáí...) を含む文字列を挿入したいと考えています。
MySql オブジェクトを許可するために MySql.Data.MySqlClient 名前空間を使用しています。私の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のように保存される) だけで、 šžýáíéúäôのような他の文字は問題なく保存されます。どこに問題があるのか 知っている人はいますか?ありがとうございました