С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/25: Рейтинг темы: голосов - 25, средняя оценка - 4.64
6 / 6 / 4
Регистрация: 26.06.2015
Сообщений: 83

Qt и SQLite, кодировка(кириллица)

20.04.2016, 15:23. Показов 4801. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Помогите разобраться с проблемой кодировок в Qt и SQLite, а именно проблема отображения русских букв.

Имеется следующая структура таблицы:
SQL
1
2
CREATE TABLE tab(id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT);
Проблема в следующем:
Русские буквы, которые добавляются в базу данных посредством Qt'a, например, таким вот образом:
C++ (Qt)
1
2
QSqlQuery query;
query.exec("INSERT INTO tab(name) VALUES('Привет')");
Отображаются в консоли SQLite не корректно, зато в виджетах Qt'a, QTableView например, и qDebug отображаются корректно, для наглядности см. рис. 1.

С другом стороны. Русские буквы, которые добавлены в базу данных через консоль SQLite, корректно отображаются в самой консоли, но не корректно отображаются в Qt'e, для наглядности см. рис. 2.

В чем может быть проблема ? Везде кодировка UTF-8, в Qt'e даже явно задаю ее, вот так:
C++ (Qt)
1
2
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
qDebug()<<QTextCodec::codecForLocale()->name();    //  "UTF-8"
Помогите разобраться. Спасибо!!!
P.S. Работаю в Windows 7, Qt 5.4.1
Миниатюры
Qt и SQLite, кодировка(кириллица)   Qt и SQLite, кодировка(кириллица)  
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.04.2016, 15:23
Ответы с готовыми решениями:

Кириллица в SQLite
Пишу Android приложение на Java, которое будет использовать базу данных SQLite , однако возникла проблема с восприятием приложением...

Кодировка, кириллица и JSON
Делаю запрос, заношу в массив данные, отправляю в json'е и там, где есть кириллица, ничего не получаю - пустота windows-1251 ...

Кодировка , кириллица не корректно отображается
страницы нормально распознают кирилицу, с базы тоже кирилицу нормально отображает. Вот никак не могу понять при отправке ajax-ом форму...

5
44 / 44 / 12
Регистрация: 05.04.2015
Сообщений: 345
20.04.2016, 16:17
Для начала установите самый новую версию Qt там были изменения в qDebug-е. Дальше, надо смотреть.
1
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
20.04.2016, 16:36
Лучший ответ Сообщение было отмечено TheThe как решение

Решение

TheThe, cmd в Windows уже поддерживает UTF8?
1
6 / 6 / 4
Регистрация: 26.06.2015
Сообщений: 83
20.04.2016, 17:47  [ТС]
Dmitriy_M, спасибо за наводку. Проблема была в самой кодировке консоли. После того как перевел cmd в UTF-8 (65001) и поменял шрифт, в консоли начали отображаться русские буквы.
0
182 / 37 / 5
Регистрация: 29.01.2013
Сообщений: 256
25.04.2016, 13:59
Цитата Сообщение от TheThe Посмотреть сообщение
После того как перевел cmd в UTF-8 (65001) и поменял шрифт,
И как ты это сделал?
0
6 / 6 / 4
Регистрация: 26.06.2015
Сообщений: 83
25.04.2016, 17:38  [ТС]
Цитата Сообщение от trdm Посмотреть сообщение
И как ты это сделал?
Я делал следующим образом.
* К примеру у тебя лежит sqlite3.exe и твоя база в папке abc на диске C: *
Открываешь cmd. Пишешь - "chcp" (без кавычек). Функция вернет твою активную кодировку, у меня она была - 866. Потом пишешь так "chcp 65001". После этого должно появиться уведомление: "Active code page: 65001". Затем меняешься в свойствах шрифт на "Lucida console".
Потом, не закрывая этот cmd, иначе кодировка активная слетит, открываешь свою папку с БД и sqlite3.exe. Например: cd C:\abc.
Пишешь в строке sqlite3, откроется sql, ну и все, делаешь запрос и русские буквы отображаются норм. Также прикладываю 2 картинки, до и после.
Миниатюры
Qt и SQLite, кодировка(кириллица)   Qt и SQLite, кодировка(кириллица)  
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.04.2016, 17:38
Помогаю со студенческими работами здесь

Кодировка в командной строке (кириллица)
Добрый день! Писал программу в командной строке (файл .bat) на Windows 10 и для перехода на кириллицу использовал команду chcp 1251 и на...

Кодировка в консоли, кириллица представлена знаками вопроса
подскажите плиз при таком Console.WriteLine(&quot;русский текст&quot;); коде, на консоль выводятся знаки вопроса windows 7 eng ...

Западноевропейская кодировка в JSP, хотя должна быть кириллица
Народ, может кто знает, почему при обращении к моей JSP странице IExplorer 6 выставляет западноевропейскую кодировку, хотя должна быть...

Кодировка БД в SQLite
Всех с праздниками! Возник вопрос, нигде не могу найти решение. Как установить кодировку для БД в SQLite и вообще возможно ли это...

Кодировка вывода из SQLite
Есть функция: AnsiString sq_test(){ char *fn; sqlite3 *db; sqlite3_stmt *stmt; sqlite3_open(&quot;db.db&quot;, &amp; db); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru