Есть БД на локалхосте (запускаю через xampp, mysql). В базе присутствует кириллица. Все поля определены как utf8mb4_general_ci. В приложении с++ (windows form visual studio) получаю данные из БД - все работает. Данные ВЫВОДЯТСЯ корректно. Если пытаюсь через это же приложение изменить данные в базе или добавить новые, то в БД записываются символы ??????????? вместо русских (остальные в порядке).
В проект добавляла MySql.Data в ссылках, далее использую следующий код:
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();
Пыталась изменить кодировку и на cp1251, и на 866, не помогает. Изменила кодировку самого файла MyForm.h на UTF8 - не помогло ((( HELP
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости