crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
Max Payne
  опции профиля:
сообщение 16.2.2012, 15:40
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 24
Регистрация: 16.2.2012
Пользователь №: 3223

Спасибо сказали: 0 раз(а)




Репутация:   0  


Всем привет. Наткнулся на следующую проблему: пишу программу на С++ Qt для работы с базой данных Access. Подключаюсь нормально. но все буквы на кирилице (русские) отображаются некорректно . Пробовал указывать разные кодировки типа cp1251, UTF-8, Latin1. Ничего не помогает. кто сталкивался с кодировками помогите пож. , подключаюсь через ODBC driver:
void Pan_Kot::on_pushButton_3_clicked()
{
    QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
    db.setConnectOptions();
    db.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb)}; FIL={MS Access};DBQ=C:/1.mdb");
    if(db.open()==false)
    {
        QMessageBox::critical(0,tr(" Error 001 "), tr ("Ошибка подключения к базе данных : \n").append(db.lastError().text()));
        return;
    }
    QStringList tables = db.tables();
    qDebug() << tables;
    return;
}

Вся проблема в том что возвращается не корректное название таблиц при использовании метода
QsqlDatabase::tables(QSql::Tables)

Помоги Юр пож...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
crashsp
  опции профиля:
сообщение 16.2.2012, 18:19
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 56
Регистрация: 23.10.2010
Пользователь №: 2144

Спасибо сказали: 8 раз(а)




Репутация:   546  


Попробуй в main.cpp после QApplication app(argc, argv); добавить
QTextCodec *codec = QTextCodec::codecForName("Windows-1251");
QTextCodec::setCodecForTr(codec);
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForCStrings(codec);


Сообщение отредактировал crashsp - 16.2.2012, 18:19
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Max Payne
  опции профиля:
сообщение 16.2.2012, 18:22
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 24
Регистрация: 16.2.2012
Пользователь №: 3223

Спасибо сказали: 0 раз(а)




Репутация:   0  


Я пробовал , такие тривиальные вещи я перепробовал =/
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 8.6.2025, 21:17