2

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のように保存される) だけで、 šžýáíéúäôのような他の文字は問題なく保存されます。どこに問題があるのか​​ 知っている人はいますか?ありがとうございました

4

2 に答える 2