кодировка sqlite, как известно sqlite поддерживает 2 кодировки.. |
Здравствуйте, гость ( Вход | Регистрация )
кодировка sqlite, как известно sqlite поддерживает 2 кодировки.. |
512es |
23.4.2009, 17:38
Сообщение
#1
|
Участник Группа: Участник Сообщений: 135 Регистрация: 31.10.2008 Пользователь №: 407 Спасибо сказали: 5 раз(а) Репутация: 0 |
всем привет!)
как известно sqlite поддерживает 2 кодировки.. UTF-8 и UTF-16 пытаюсь вывести данные из базы, которая была составлена с использованием UTF-8, через QSqlTableModel. результат - все русские буквы квадратиками. перегуглил весь инет в поисках решения. не нашёл.. манипуляции с QTextCodec ни к чему не привели. хочется заставить qt открывать базу в режиме UTF-8.. есть идеи?) |
|
|
Litkevich Yuriy |
23.4.2009, 17:50
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
512es |
23.4.2009, 17:56
Сообщение
#3
|
Участник Группа: Участник Сообщений: 135 Регистрация: 31.10.2008 Пользователь №: 407 Спасибо сказали: 5 раз(а) Репутация: 0 |
например такие:
пробовал разные кодировки.. |
|
|
Litkevich Yuriy |
23.4.2009, 18:15
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
trdm |
23.4.2009, 18:38
Сообщение
#5
|
Дмитрий Трошин Группа: Участник Сообщений: 575 Регистрация: 12.1.2008 Пользователь №: 68 Спасибо сказали: 21 раз(а) Репутация: 6 |
Сильно не разбирался в проблеме, но:
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 Сообщение отредактировал trdm - 23.4.2009, 18:43 |
|
|
512es |
23.4.2009, 20:48
Сообщение
#6
|
Участник Группа: Участник Сообщений: 135 Регистрация: 31.10.2008 Пользователь №: 407 Спасибо сказали: 5 раз(а) Репутация: 0 |
setCodecForCStrings попробовал все варианты. ничего не меняется. совсем. разве что при указании кодировки UTF-16 и 32 драйвер не загружается
Цитата QSqlDatabase: ??? driver not loaded на PRAGMA encoding вообще ноль реакции мне кажется я знаю в чём проблема.. база была создана через API функцию sqlite3_open() и в неё писали обычные std::string строки. программа работала и не было заметно никаких глюков.. хочется конечно оставить совместимость со старой версией, но если это повлечёт за собой много сложностей, то лучше наверное конвертировать.. не знаю ещё, правда, как.. Сообщение отредактировал 512es - 24.4.2009, 6:56 |
|
|
512es |
29.4.2009, 11:17
Сообщение
#7
|
Участник Группа: Участник Сообщений: 135 Регистрация: 31.10.2008 Пользователь №: 407 Спасибо сказали: 5 раз(а) Репутация: 0 |
пришлось написать конвертер в UTF-16..
теперь работает всё без проблемм. но при переносе на чистую машину ничего не отображается в tableView.. может ещё какой дллки нехватает.. буду искать.. |
|
|
Текстовая версия | Сейчас: 30.12.2024, 20:30 |