![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
igorenja |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 22 Регистрация: 18.1.2010 Пользователь №: 1384 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Доброе время суток!
Возможно об этом уже писалось, но я найти не смог.... Ситуация следующая: Есть окошечко в котором есть такой код CODE QTextCodec *codec = QTextCodec::codecForName("windows-1251"); QTextCodec::setCodecForTr(codec); QTextCodec::setCodecForLocale(codec); BtnBack = new QPushButton(this); BtnBack->setText(QString(tr("Назад"))); model = new QDirModel(this); tree = new QTreeView(this); tree->setModel(model); В общем под виндой всё нормально, а вот под линуксом проблема. Если есть имена директорий/файлов на русском языке, то отображаются крокозябры... В то же время кнопочка по русски нормально отображается.. |
|
|
maint |
![]()
Сообщение
#2
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 235 Регистрация: 3.8.2009 Из: Иркутск Пользователь №: 982 Спасибо сказали: 28 раз(а) Репутация: ![]() ![]() ![]() |
Доброе время суток! Возможно об этом уже писалось, но я найти не смог.... Ситуация следующая: Есть окошечко в котором есть такой код CODE QTextCodec *codec = QTextCodec::codecForName("windows-1251"); QTextCodec::setCodecForTr(codec); QTextCodec::setCodecForLocale(codec); BtnBack = new QPushButton(this); BtnBack->setText(QString(tr("Назад"))); model = new QDirModel(this); tree = new QTreeView(this); tree->setModel(model); В общем под виндой всё нормально, а вот под линуксом проблема. Если есть имена директорий/файлов на русском языке, то отображаются крокозябры... В то же время кнопочка по русски нормально отображается.. или все держать в UTF-8, или условная компиляция где #ifdef винда QTextCodec *codec = QTextCodec::codecForName("windows-1251"); #endif #ifdef юникс с koi8 QTextCodec *codec = QTextCodec::codecForName("KOI8-R"); #endif #ifdef юникс с UTF8 и т.д |
|
|
igorenja |
![]()
Сообщение
#3
|
Студент ![]() Группа: Участник Сообщений: 22 Регистрация: 18.1.2010 Пользователь №: 1384 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Поставил UTF8 и всё заработало, пасиб
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#4
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
igorenja |
![]()
Сообщение
#5
|
Студент ![]() Группа: Участник Сообщений: 22 Регистрация: 18.1.2010 Пользователь №: 1384 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
igorenja, вот этот кодэк зачем устанавливаешь QTextCodec::setCodecForLocale(codec); ?Я так понимаю что именно он задает ту кодировку в которой отображается QTreeView... Если эту строку закоментить то нифига не работает, проверено опытным путём. Сейчас работает вот так: CODE QTextCodec *codec = QTextCodec::codecForName("UTF8"); QTextCodec::setCodecForTr(QTextCodec::codecForName("windows-1251")); QTextCodec::setCodecForLocale(codec); BtnBack = new QPushButton(this); BtnBack->setText(QString(tr("Назад"))); BtnBack->show(); Но появилась новая проблема. виндовую шару, которая подмонтирована, он отображает вопросиками..... Вот теперь вопрос мона ли сделать так чтоб всё отображалось по-человечески? |
|
|
Litkevich Yuriy |
![]()
Сообщение
#6
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
стандартная настройка выглядит так:
Замени UTF-8 на ту кодировку в которой у тебя исходники. Установка setCodecForCStrings нужна для корректной работы некоторых СУБДвиндовую шару, которая подмонтирована, он отображает вопросиками настраивай кодировку в опция монтирования. Это относится к ФС лунуха, а не к Qt.
|
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 6.2.2025, 4:17 |