Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SQLITE CP1251, как корректно читать в QT4?
Форум на CrossPlatform.RU > Разработка > SQL. Базы данных.
rotor
Имеется БД SQLITE в которой имеются записи кирилицей в кодировке CP1251, при попытке чтения данных из БД возвращается кирилическая строка в виде "??????????? ???? ".
Как с этим бороться?
Litkevich Yuriy
например: setCodecForCString для кодировки БД
rotor
Цитата(Litkevich Yuriy @ 23.9.2010, 9:10) *
например: setCodecForCString для кодировки БД

codecForTr(), setCodecForCStrings, setCodecForLocale() пробовал это не помагает.


QByteArray encodedString = query.value(Name).toByteArray;

QTextCodec *codec = QTextCodec::codecForName("cp1251");
QString string = codec->toUnicode(encodedString);

на MySQL это работает нормально, а вот в SQLITE не дает результата.

query - возвращает далеко не то что было в базе(на уровне байтов).
Да собственно как и запись в БД на SQLITE в коде 1251 у меня так и не получилось, хотя очень сильно нужно.
А вот с MySql проблем нет, что посылаеш то и ложится в базу.
bynet
Запись у меня получилось с помощью query.bindValue();
Пример: query.bindValue(":namecompany",QString::fromUtf8("Название организации"));
fromUtf8 - попробуй заменить на тот который тебе нужно.
И читает тоже.
DenisKh001
SQLite никак не может быть в ср1251. Каким средством для пользуешься для создания/редактирования базы?
RazrFalcon
Опоздали на год =)
Litkevich Yuriy
В старых темах лучше задавать связанный вопрос, а не отвечать. Т.к. ответ явно не имеет актуальности.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.