crossplatform.ru

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

> QT+MYSQL+WINDOWS, Проблемы с русским текстом.
SVA
  опции профиля:
сообщение 26.5.2008, 17:47
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 5
Регистрация: 26.5.2008
Пользователь №: 184

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




Репутация:   0  


Пробую написать программу в WindowsXP SP3 с применением QT 4.3.0.
Программа подключается к серверу MySQL на котором созданна БД в кодировке Windows-1251 :
#include <QApplication>
#include <QResource>
#include <QLocale>
#include <QTextCodec>
#include "connection.h"
#include "mwnd.h"


int main(int argc, char *argv[]) {

    Q_INIT_RESOURCE(application);
    QApplication app(argc, argv);
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("Windows-1251"));
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("Windows-1251"));
    QTextCodec::setCodecForTr(QTextCodec::codecForName("Windows-1251"));
    if (!createConnection())
        return 1;
    Mwnd *window = new Mwnd;
    window->show();
    return app.exec();
}

И по полученным данным строит свой GUI.
#include <QtGui>
#include <QSqlQuery>
#include "mwnd.h"

Mwnd::Mwnd() : QMainWindow() {
    setupUi(this);
    QSqlQuery query;
    query.exec("SET NAMES CP1251");
    query.exec("SELECT id, name FROM municipalities ORDER BY name ASC");
    while (query.next()) {
        QString name = query.value(1).toString();
        comboBox->addItem(name);
    }
}

Но беда в том, что строки выводимые в ComboBox-е отображаются символами Latin1, а не Windows-1251.
Что ещё необходимо настроить в QT для правильного отображения русских символов в формируемом виджете?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


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


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




RSS Текстовая версия Сейчас: 23.4.2024, 17:06