SQLITE CP1251, как корректно читать в QT4? |
Здравствуйте, гость ( Вход | Регистрация )
SQLITE CP1251, как корректно читать в QT4? |
rotor |
23.9.2010, 11:36
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 2 Регистрация: 23.9.2010 Пользователь №: 2060 Спасибо сказали: 0 раз(а) Репутация: 0 |
Имеется БД SQLITE в которой имеются записи кирилицей в кодировке CP1251, при попытке чтения данных из БД возвращается кирилическая строка в виде "??????????? ???? ".
Как с этим бороться? |
|
|
Litkevich Yuriy |
23.9.2010, 13:10
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
например: setCodecForCString для кодировки БД
|
|
|
rotor |
24.9.2010, 13:32
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 2 Регистрация: 23.9.2010 Пользователь №: 2060 Спасибо сказали: 0 раз(а) Репутация: 0 |
например: 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 проблем нет, что посылаеш то и ложится в базу. |
|
|
Текстовая версия | Сейчас: 24.11.2024, 21:23 |