crossplatform.ru

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

> Отображение русских букв в QTableView, Отображает краказябли )
bynet
  опции профиля:
сообщение 4.7.2010, 14:34
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 69
Регистрация: 17.3.2008
Из: Belarus
Пользователь №: 124

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




Репутация:   0  


QSqlQuery query;
query.exec("create table company (id int primary key, "
"namecompany varchar(20), adresscompany varchar(20))");

query.exec("insert into company values(1, 'Название предприятия', 'Адрес предприятия')");

затем

model = new QSqlTableModel(this);

model->setTable("company");
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
model->select();

view->setModel(model);

В таблице вместо Название предприятия и Адрес предприятия выдает краказяюли.
Как отобразить их в нармальном виде? Где именно ошибка при вставке в таблицу или при отображении?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
arial
  опции профиля:
сообщение 6.7.2010, 13:44
Сообщение #2


Студент
*

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

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




Репутация:   0  


Цитата(arial @ 6.7.2010, 14:02) *
Хорошо. Каким образом? Я другого способа не нашёл.
Кажется разобрался.

Раньше я делал так:
int main(int argc, char *argv[])
{
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
    QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
    QTextCodec::setCodecForTr(QTextCodec::codecForLocale());

    QApplication a(argc, argv);

    const QString title = QString::fromLocal8Bit("Заголовок");
    const QString text = QString::fromLocal8Bit("Текст");
    QMessageBox mb(QMessageBox::NoIcon, title, text, QMessageBox::Ok);
    mb.show();

    return a.exec();
}
Сейчас сделал так:
int main(int argc, char *argv[])
{
    QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));

    QApplication a(argc, argv);

    const QString title = QObject::tr("Заголовок");
    const QString text = QObject::tr("Текст");
    QMessageBox mb(QMessageBox::NoIcon, title, text, QMessageBox::Ok);
    mb.show();

    return a.exec();
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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




RSS Текстовая версия Сейчас: 28.3.2024, 12:14