Member 13969232 Ответов: 0

Из clr в mysql передача данных


У меня есть база данных на localhost (xampp, mysql). У меня есть некоторые символы кириллицы (русские символы). Все поля базы данных задаются как utf8mb4_general_ci. Из базы данных я получаю данные в приложение CLR windows form (visual studio). Это правильно работает. Если я попытаюсь изменить данные в базе данных из приложения, моя строка (с кириллицей) изменится на ??????????. Английские символы отображаются правильно..

Я добавляю ссылку MySql.Данные в проект CLR, а затем я пишу код.

Я попытался изменить кодировку с utf8 на cp1251 или cp866, но это не помогло.. Я изменил кодировку MyForm.h на UTF8, но это тоже не помогло..

Помогите плз...

Что я уже пробовал:

String^ constr = "Server=127.0.0.1;Uid=root;Pwd=;Database=travelagency;SSL Mode=None";
     MySqlConnection^ con = gcnew MySqlConnection(constr);
     String^ utf8 = "SET NAMES 'utf8'; SET CHARACTER SET 'utf8'; SET SESSION collation_connection = 'utf8_general_ci';";
     String^ sql_set = utf8 + "";

String^ fio = "Васильев Владимир Евгеньевич";
    String^ tel = "89161221111";
    String^ email = "ter@mail.ru";
    String^ adress = "г. Москва, Федоровская ул., д. 15";
    String^ sql_query = sql_set;
    sql_query += "insert into clients (fio, tel, email, adress) values('" + fio + "','" + tel + "','" + email + "','" + adress + "')";
    MySqlCommand^ cmd = gcnew MySqlCommand(sql_query, con);

    con->Open();
    MySqlDataReader^ dr = cmd->ExecuteReader();
    MessageBox::Show("Запись добавлена!");
    dr->Close();
    con->Close();

0 Ответов