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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО] Как сделать перекодировку?  (Прочитано 3537 раз)
Maxz
Гость
« : Сентябрь 15, 2009, 11:20 »

Qt 4.5.0 Open Source for Windows

Искал на форуме, но не нашел, посему если тема была - ткните в нее.

Соединяюсь через ODBC с БД (БД - разные, MS SQL, Oracle, PostgreSQL и др. - поэтому используется ODBC), вывожу данные (здесь пример упрощен):

Код:
QSqlQueryModel *model = new QSqlQueryModel;
model->setQuery("SELECT FIELDS FROM TABLES");
tableView=new QTableView;      
tableView->setModel(model);

Проблема такая - данные в базах храняться в разных кодировках, а вывод в QTableView делается в юникоде, т.е. кракозябриками. Конечно, можно было бы прогонять каждуй строку и перекодировать необходимые поля, но, думаю, есть более простое решение.
Вопрос - как мне заставить QTableView делать перекодировку? (кодировка каждой базы будет храниться рядом в настройках).

Заранее спасибо всем ответившим.
« Последнее редактирование: Сентябрь 15, 2009, 14:00 от Maxz » Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #1 : Сентябрь 15, 2009, 12:02 »

Попробуй в функции main, сразу после создания объекта QApplication такую строчку написать:
Код
C++ (Qt)
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
Записан

Юра.
Maxz
Гость
« Ответ #2 : Сентябрь 15, 2009, 12:12 »

to lit-uriy

СПАСИБО!!! - это оно самое.
Тема, думаю, закрыта
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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