Выгрузка из DataGridView в MySql. Проблема с кодировкой - C#
Формулировка задачи:
Всем доброго времени суток, господа. Столкнулся с проблемой. Есть программа, которая работает с таблицей Mysql. Получает из нее данные и выгружает назад. Собсно с выгрузкой назад и возникают затычки.
Данные в табличку попадают, Латиница в ней отображается нормально. Кириллица не очень. что то наподобие :
11 pp45678 ??? ?????????? 546665 ???? 27.01.2012 14:37:46 1 123
Каким образом можно поменять кодировку передаваемых значений sql запросом? Или же это стоит проделывать прям с переменными, до формирования запроса?
В MySql базе на поля в данный момент стоит cp1251_general_ci - такая кодировочка. До этого стояла Утф8. Либо может прям в базе поменять кодировку, но только бы знать на какую?)))
string NowDate = DateTime.Now.ToString();
MessageBox.Show(""+ NowDate,"");
string[,] DataUpd = new string[100,100];
string NewRow = "'";
for (int i = 0; i <Dgv_second.RowCount - 1; i++)
{
for (int j = 0; j < Dgv_second.Columns.Count; j++)
{
DataUpd[j, i] = string.Format("" + Dgv_second[j, i].Value);
NewRow = "" + NewRow + DataUpd[j, i] + "','";
}
}//считываем данные с datagridviewer и заносим их в массив.
MessageBox.Show(""+ NewRow,""); // для отладки
LogIn.StringCommand =
@"INSERT INTO `tech` (`index`, `abon`, `trable`, `phone`, `note`, `date`, `prefix`, `name`)
VALUES (" + "'NULL'," + NewRow + NowDate + "','" + oldaccesslvl + "','" + LogIn.Login_user + "')";
MySqlConnection SqlConnect = new MySqlConnection(LogIn.StringConnection);
MySqlCommand SqlCommand = new MySqlCommand(LogIn.StringCommand, SqlConnect);
SqlConnect.Open();
SqlCommand.ExecuteNonQuery();
SqlConnect.Close();Решение задачи: «Выгрузка из DataGridView в MySql. Проблема с кодировкой»
textual
Листинг программы
string o = dt.Rows[i][1].ToString(); var fromEncodind = Encoding.GetEncoding(1252);//из какой кодировки var bytes = fromEncodind.GetBytes(o); var toEncoding = Encoding.GetEncoding(1251);//в какую кодировку string nom = toEncoding.GetString(bytes);