На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> При Добавлении В Базу Из C# Windows.form Вместо Кириллицы - "?"
    Текст из поля по нажатию на кнопку должен добавляться в базу

    Важные моменты кода:

    1) Соединение с базой
    ExpandedWrap disabled
      SqlCоnnectiоn cn = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=#Здесь путь#Database1.mdf;Integrated Security=True;");
      SqlCommand cmd = new SqlCommand();


    2) Нажатие на кнопку
    ExpandedWrap disabled
      cn.Open();
      cmd.Cоnnectiоn = cn;
      cmd.CommandText = "INSERT INTO Customers (Name) values ('" + NameBox.Text"')";
      cmd.ExecuteNonQuery();
      cmd.Clone();


    Но добавляются знаки вопроса - кодировка у базы ANSI, нужна какая-то другая, видимо (UTF-8, мб)

    ВОПРОС: Как сделать так, чтобы добавлялась кириллица, а не "вопросы"

    Варианты решений рассматривал:

    1) Много встречал ответов, что помогает добавление в ConnectionString "charset=utf8;"
    у меня не дает добавить, пишет, что не знает такого ключевого слова.
    Видимо, это только для MySQL ConnectionString

    2) cmd.CommandText = "SET NAMES 'utf8'";
    не помогло

    3) cmd.CommandText = "INSERT INTO Customers (Name) val ues (N'" + NameBox.Text"')";
    не помогло

    4) Тип столбца nvarchar(MAX), ставил другие (nchar, varchar), не помогло
      Цитата CDataB @
      нужна какая-то другая, видимо (UTF-8, мб)

      :yes:

      или win1251

      у БД выстави нужную кодировку и не мучайся с перекодированием при добавлении
      Сообщение отредактировано: Besha -
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0169 ]   [ 16 queries used ]   [ Generated: 20.04.24, 01:18 GMT ]