Как корректно выводить на экран строки на русском языке из Qt приложения?

программирование Linux C++ qt

Ось Ubuntu 10.04LTS, среда разработки Qt Creator
Стрроки вида
setWindowTitle("Простая адресная книга");
или
QMessageBox::information(this, tr("Пустое поле"), tr("Пожалуйста введите имя и адрес"));
выводят нечитаемый текст. При этом строки вбитые в дизайнере форм отображаются нормально.

Примечание:
листинг локали:

LANG=ru_RU.utf8
LC_CTYPE="ru_RU.utf8"
LC_NUMERIC="ru_RU.utf8"
LC_TIME="ru_RU.utf8"
LC_COLLATE="ru_RU.utf8"
LC_MONETARY="ru_RU.utf8"
LC_MESSAGES="ru_RU.utf8"
LC_PAPER="ru_RU.utf8"
LC_NAME="ru_RU.utf8"
LC_ADDRESS="ru_RU.utf8"
LC_TELEPHONE="ru_RU.utf8"
LC_MEASUREMENT="ru_RU.utf8"
LC_IDENTIFICATION="ru_RU.utf8"
LC_ALL=

Примечание:
насколько я понимаю QString по умолчанию использует UTF-8

Примечание:
2 k_max
Ваш ответ быстрее всех натолкнул меня на правильное решение.
trUtf8() действительно оказалось тем что нужно.
Кстати сразу же выяснилось, что QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")) решает ту же задачу глобально для метода tr() (спасибо osmiev за неувядающий совет RTFM :))
Ответы:
имхо, где-то лажа с кодировками.. локаль какая? а кодировка текста какая указана при выводе?
Интересно, черт возьми.. а если таки прописать кодировку *насильно*?
Вам надо документацию почитать для начала. http://doc.trolltech.com/3.3/
Это делается по другому:
setWindowTitle(tr(Simple Adress book));
а дальше прикручивается перевод. http://doc.trolltech.com/3.3/i18n.html
А как насчет trUtf8()? попробуй её. Она определена в QObject.


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.