У меня есть базы данных MySQL с таблицей MySqlTable который кодируется utf8_slovak_ci, и я хотел бы, чтобы вставить строки с диакритическими символами (ľščťžýáí ...), типичными для словацкого языка через C# код.Вставка диакритических символов в базу данных MySQL
Я использую пространство имен 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 в базе данных. Но когда я выполняю соответствующий запрос INSERT через phpmyadmin, он сохраняется правильно. Проблемными символами являются только ľčťďň (сохранен как lctdn), другие символы, такие как šžýáíéúäô сохранены в порядке. Кто-нибудь знает, где может быть проблема? Спасибо
Человек! Я ждал этого ответа более двух месяцев. Thanx, он работает отлично. Мне жаль, что я не заметил ответа, который вы здесь связали. – flipis