crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в кодировка sqlite
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
512es Дата 29.4.2009, 11:17
  пришлось написать конвертер в UTF-16..
теперь работает всё без проблемм. но при переносе на чистую машину ничего не отображается в tableView.. может ещё какой дллки нехватает.. буду искать..
512es Дата 23.4.2009, 20:48
  setCodecForCStrings попробовал все варианты. ничего не меняется. совсем. разве что при указании кодировки UTF-16 и 32 драйвер не загружается
Цитата
QSqlDatabase: ??? driver not loaded


на PRAGMA encoding вообще ноль реакции

мне кажется я знаю в чём проблема.. база была создана через API функцию sqlite3_open() и в неё писали обычные std::string строки. программа работала и не было заметно никаких глюков..
хочется конечно оставить совместимость со старой версией, но если это повлечёт за собой много сложностей, то лучше наверное конвертировать.. не знаю ещё, правда, как..
trdm Дата 23.4.2009, 18:38
  Сильно не разбирался в проблеме, но:
http://habrahabr.ru/blogs/sql/57915/
или
QSqlDatabase m_db = QSqlDatabase::addDatabase("QSQLITE");
m_db.exec("PRAGMA encoding = \"UTF-8\"");
http://www.sqlite.org/pragma.html
Litkevich Yuriy Дата 23.4.2009, 18:15
 
Цитата(512es @ 23.4.2009, 21:56) *
QTextCodec::setCodecForCStrings(codec);
эта поидее и должна работать. Проверь на демке Sqlbrowser (добавь в main эту строку.)
512es Дата 23.4.2009, 17:56
  например такие:
QTextCodec* codec = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForTr(codec);

пробовал разные кодировки..
Litkevich Yuriy Дата 23.4.2009, 17:50
 
Цитата(512es @ 23.4.2009, 21:38) *
манипуляции с QTextCodec ни к чему не привели.
какие, например?
512es Дата 23.4.2009, 17:38
  всем привет!)

как известно sqlite поддерживает 2 кодировки..
UTF-8 и UTF-16

пытаюсь вывести данные из базы, которая была составлена с использованием UTF-8, через QSqlTableModel.
результат - все русские буквы квадратиками.

перегуглил весь инет в поисках решения. не нашёл..

манипуляции с QTextCodec ни к чему не привели.

хочется заставить qt открывать базу в режиме UTF-8..


есть идеи?)
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 19.4.2024, 22:08