Доброго времени суток, обращаюсь к вам с такой проблемой.
В Qt приложении после сборки его под убунтой не отображаются русские буквы.
Сейчас так -
А должно быть как-то вот так -
Грешил на шрифты в настройках системы, но там все в порядке. Qtconfig же по каким-то причинам не настраивает отдельно параметры отображения для Qt приложений, а берет системные.
Установка QTextCodec в приложении тоже не помогает.
Подскажите куда копать.
с помощью ldd проверьте с каким QT линковано ваше приложение, очень похоже на QT3, ихмо
Слинковано правильно было.
Посоветовали поставить Qt из пакета, до этого был собранный из исходников, поставил SDK с версией 4.6.2 - помогло. В чем причина, в версии или еще в чем, не выяснял, т.к. собирать опять Qt для проверки только откровенно лень.
Вопрос решенным считаю я.
В исходниках не ковырялись? Кодировка исходников совпадает с системной кодировкой по умолчанию?
Думается мне что ваши исходники имеют отличную от системной кодировку.
Т.е. например вы писали под Suse где локаль UTF-ная, а собираете под будунтой... где какая локаль?
В общем вы ваш "Установка QTextCodec в приложении тоже не помогает" как именно делаете?
Я у себя делаю так в каждом классе где мне надо пользовать русские буквы:
QTextCodec::setCodecForTr(defaultCodec);
QTextCodec::setCodecForCStrings(defaultCodec);
#if defined (Q_OS_WIN32) // для виндовой "консоли-локали" всегда так
defaultLocaleCodec = QTextCodec::codecForName("IBM 866");//это ля консоли
#endif
QTextCodec::setCodecForLocale(defaultLocaleCodec);
У меня собирается под виндой и линуксом с нормальными русскими буквами везде. QT 4.7 (релиз, а не бета - Qt SDK by Nokia v2010.04 (open source))
QDroid - Среда исполнения и фреймворк для QtScript. OTPD - Открытые драйвера промышленных принтеров чеков и этикеток (кроссплатформенная подсистема печати).
Denjs
Кодеки настраивал один раз, примерно так же, - в мейне после создания объекта QApplication. Встречал именно такие советы. В каждом классе...это было бы странно с учетом статических методов. Хотя утверждать не буду, т.к. не помогло.
Набирал действительно под другим линуксом.
Насчет кодировок - судя по внешнему виду тут дело в чем-то другом, картина больно уж не характерная, но могу и ошибаться.
Проверить теперь предположение проблемно, т.к. все починил, а ломать опять долго)