Russian Qt Forum
Ноябрь 24, 2024, 00:47
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Базы данных
>
[РЕШЕНО]Русские символы при обащении к DBF
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: [РЕШЕНО]Русские символы при обащении к DBF (Прочитано 7598 раз)
vvvxmag
Гость
[РЕШЕНО]Русские символы при обащении к DBF
«
:
Март 02, 2011, 16:18 »
открываю БД
QSqlDatabase dbfdb = QSqlDatabase::addDatabase("QODBC", "dbfcon");
QString dbfDriver;
dbfDriver = "DRIVER={Microsoft dBase Driver (*.dbf)};FIL={dBase IV;};DefaultDir=c:\\Projects\\petrogold\\Bill\\Data";
dbfdb.setDatabaseName(dbfDriver);
Кодировка файлов ANSI(CP-1251)
Выполняю запрос
QSqlQuery query.exec("SELECT * FROM goods");
QSqlRecord source_record = query.record();
Далее в пытаюсь получить значение поля содержащего русские символы
query.value(source_record.indexOf("name_iz")).toString();
Возвращаются непонятные символы.
установил
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("Windows-1251"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("Windows-1251"));
Всячески пытался сконвертировать полученную строку
toLocal8Bit
toLatin1
toUtf8
ничего не помогает.
Подскажите пожалуйста, что с этим можно сделать.
«
Последнее редактирование: Март 04, 2011, 07:27 от vvvxmag
»
Записан
vvvxmag
Гость
Re: Русские символы при обащении к DBF
«
Ответ #1 :
Март 03, 2011, 09:43 »
В какой бы кодировке я не сохранял файл DBF
query.value(source_record.indexOf("name_iz")).toString();
возвращает одно и тоже
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: Русские символы при обащении к DBF
«
Ответ #2 :
Март 03, 2011, 10:44 »
Там, вроде, в строке коннекта нужно указать кодировку.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
vvvxmag
Гость
Re: Русские символы при обащении к DBF
«
Ответ #3 :
Март 03, 2011, 14:18 »
Я догадываюсь что это нужно сделать, но не нашел как.
Кучу сайтов перерыл, но не нашел.
Если есть пример connection string поделитесь.
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: Русские символы при обащении к DBF
«
Ответ #4 :
Март 03, 2011, 14:42 »
Давно это было, уже не помню. Гугление привело к DriverID, но дальше что-то глухо.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
vvvxmag
Гость
Re: Русские символы при обащении к DBF
«
Ответ #5 :
Март 04, 2011, 07:26 »
Помогло следующее:
изменил значение ключа в реестре
HKLM\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase\DataCodePage - ANSI
до этого стояло OEM.
Всем спасибо за внимание.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...