SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 02.12.2015 21:11:47

Royce
Участник
Зарегистрирован: 02.12.2015
Сообщений: 3

Кодировка выходных данных из Visual C++ в MySQL

При внесении данных в таблицу MySQL через комманду в C++ - в таблице получается абра-кадабра "?????"


String^ constring = L"datasource='" + this->path + "';port='" + this->port + "';username='" + this->usrname
+ "';password='" + this->password + "'";
MySqlConnection^ conDataBase = gcnew MySqlConnection(constring);
MySqlCommand^ insertdb = gcnew MySqlCommand("update database." + testingname + " set Vopros= '" +richTextBox1->Text
+ "', Kolvo_Otvetov = '" +ansnum->Value+ "', Otvet1 = '" +ans0->Text+ "', Otvet2 = '" +ans1->Text + "',
Otvet3 = '"
+ans2->Text+ "', Otvet4 = '" +ans3->Text+ "', Otvet5 = '" +ans4->Text + "', Otvet6 = '" +ans5->Text
+ "', Verniy_Otvet = '" + this->rans->Value + "' where id = '" + questionnum + "'; ", conDataBase);
MySqlDataReader^ myReader;
try{
conDataBase->Open();
myReader = insertdb->ExecuteReader();
while (myReader->Read()){
}
richTextBox1->Text = "";
ans0->Text = "";
ans1->Text = "";
ans2->Text = "";
ans3->Text = "";
ans4->Text = "";
ans5->Text = "";
rans->Value = 1;
questionnum = questionnum + 1;
button3->Text = "Далее";
MessageBox::Show("Тест изменен");
this->Close();
}
catch (Exception^ex){
MessageBox::Show(ex->Message);
}
}

Вот сам код. В бд стоит кодировка cp1251. Вот что получается в бд:

Отредактированно Royce (03.12.2015 10:34:43)

Неактивен

 

#2 02.12.2015 21:34:46

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Кодировка выходных данных из Visual C++ в MySQL

Что получилось в Вашей БД не видно.
После  подключения к базе в данном случае стоит послать запрос mysql_query('set names cp1251');


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 03.12.2015 10:34:28

Royce
Участник
Зарегистрирован: 02.12.2015
Сообщений: 3

Re: Кодировка выходных данных из Visual C++ в MySQL

https://pp.vk.me/c628619/v628619330/23016/wADoW9rMGIc.jpg

Неактивен

 

#4 03.12.2015 17:52:08

Royce
Участник
Зарегистрирован: 02.12.2015
Сообщений: 3

Re: Кодировка выходных данных из Visual C++ в MySQL

Изменил команду на

MySqlCommand^ insertdb = gcnew MySqlCommand("set names cp1251; update database." + testingname + " set Vopros= '" +richTextBox1->Text
+ "', Kolvo_Otvetov = '" +ansnum->Value+ "', Otvet1 = '" +ans0->Text+ "', Otvet2 = '" +ans1->Text + "',
Otvet3 = '"
+ans2->Text+ "', Otvet4 = '" +ans3->Text+ "', Otvet5 = '" +ans4->Text + "', Otvet6 = '" +ans5->Text
+ "', Verniy_Otvet = '" + this->rans->Value + "' where id = '" + questionnum + "'; ", conDataBase);

но все равно тоже самое

Неактивен

 

#5 03.12.2015 17:55:07

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Кодировка выходных данных из Visual C++ в MySQL

Запишите в отдельный файл содержимое sql-запроса, который Вы отправляете в базу и убедитесь в том, что там нормальный русский язык в запросе и кодировка файла cp1251


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson