Выгрузка из DataGridView в MySql. Проблема с кодировкой - C#

Узнай цену своей работы

Формулировка задачи:

Всем доброго времени суток, господа. Столкнулся с проблемой. Есть программа, которая работает с таблицей Mysql. Получает из нее данные и выгружает назад. Собсно с выгрузкой назад и возникают затычки.
            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();
Данные в табличку попадают, Латиница в ней отображается нормально. Кириллица не очень. что то наподобие : 11 pp45678 ??? ?????????? 546665 ???? 27.01.2012 14:37:46 1 123 Каким образом можно поменять кодировку передаваемых значений sql запросом? Или же это стоит проделывать прям с переменными, до формирования запроса? В MySql базе на поля в данный момент стоит cp1251_general_ci - такая кодировочка. До этого стояла Утф8. Либо может прям в базе поменять кодировку, но только бы знать на какую?)))

Решение задачи: «Выгрузка из 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);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.222 из 5
Похожие ответы