Russian Qt Forum
Ноябрь 23, 2024, 22:49 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: кодировка QIBASE  (Прочитано 15695 раз)
Andrey.D
Гость
« : Октябрь 07, 2010, 14:01 »

Есть база данных, в ней содержаться записи на русском, при отображении их в QTableView получаю ���� вместо русских букв.
Кодировку прописывал:
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("Windows-1251"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("Windows-1251"));
Есть ли решение данной проблемы?
Записан
crossly
Гость
« Ответ #1 : Октябрь 07, 2010, 14:27 »

в какой кодировке записи хранятся??
Записан
Andrey.D
Гость
« Ответ #2 : Октябрь 07, 2010, 14:31 »

Базу создавал не я к сожалению, пишу только клиент, а как определить в какой кодировке содержимое базы?
Записан
crossly
Гость
« Ответ #3 : Октябрь 07, 2010, 14:38 »

посмотри в rdb$database
Записан
Andrey.D
Гость
« Ответ #4 : Октябрь 08, 2010, 06:52 »

В таблице rdb$database, в поле RDB$CHARACTER_SET_NAME стоит NONE. Т.е. значит что используется какая-то кодировка по умолчанию?
Записан
crossly
Гость
« Ответ #5 : Октябрь 08, 2010, 09:24 »

я так полагаю юникод...
Записан
Andrey.D
Гость
« Ответ #6 : Октябрь 08, 2010, 09:28 »

QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf8")); прописал такой вариант, русские буквы не отображаются
Записан
Andrey.D
Гость
« Ответ #7 : Октябрь 08, 2010, 10:58 »

Перепробовал все кодировки, и никак не получается вывести в нормальном виде записи на русском, может кто уже сталкивался с этим?
Записан
crossly
Гость
« Ответ #8 : Октябрь 08, 2010, 11:01 »

база большая ??
Записан
Andrey.D
Гость
« Ответ #9 : Октябрь 08, 2010, 11:02 »

Очень большая =(
Записан
Andrey.D
Гость
« Ответ #10 : Октябрь 08, 2010, 12:04 »

Разобрался с одним моментом, данные читаются из бд в utf8 (скорее всего), и поэтому криво отображаются у меня, вопрос следующий как перекодировать строку из utf8 в Windows-1251?
Записан
crossly
Гость
« Ответ #11 : Октябрь 08, 2010, 12:13 »

а зачем....  если данные в utf то и отображай их в utf
Записан
Andrey.D
Гость
« Ответ #12 : Октябрь 08, 2010, 12:19 »

Я перебрал наверное все кодировки в QTextCodec::setCodecForCStrings(QTextCodec::codecForName, но данные так и не отображаются нормально... Как мне отобразить нормально utf?
Записан
crossly
Гость
« Ответ #13 : Октябрь 08, 2010, 12:27 »

QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
Записан
Andrey.D
Гость
« Ответ #14 : Октябрь 08, 2010, 12:31 »

Именно это уже пробовал, так же вижу ���� вместо русских букв.
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.243 секунд. Запросов: 21.