Каталог статей

Главная » Статьи » Мои статьи

Указание кодировки строк в исходном коде

По умолчанию аргументы функции tr() воспринимаются в кодировке Latin-1. Для переопределения этого необходимо воспользоваться классом QTextCodec, а именно статической функцией QTextCodec::setCodecForTr().
Так как вызов функции QTextCodec::setCodecForTr() должен быть сделан до первого вызова tr(), то удобнее всего это реализовать сразу после создания объекта QApplication:

#include <QtGui>
#include <QTextCodec>

int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QTextCodec *utfcodec = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForTr(utfcodec);
QMainWindow *wnd = new QMainWindow;
QLabel *lb = new QLabel(QObject::tr("Привет, Мир"), wnd);
wnd->show();
return app.exec();
}

Для преобразования строк из локальной кодировки в Unicode снова можно воспользоваться объектом QTextCodec:
QTextCodec *wincodec = QTextCodec::codecForName("Windows-1251");
QString text = wincodec->toUnicode("тест");

Либо:
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("Windows-1251"));

Кодировки, поддерживаемые в Qt 4.3:
  • Apple Roman
  • Big5
  • Big5-HKSCS
  • EUC-JP
  • EUC-KR
  • GB18030-0
  • IBM 850
  • IBM 866
  • IBM 874
  • ISO 2022-JP
  • ISO 8859-1 — ISO 8859-10
  • ISO 8859-13 — ISO 8859-16
  • Iscii-Bng, Dev, Gjr, Knd, Mlm, Ori, Pnj, Tlg, and Tml
  • JIS X 0201
  • JIS X 0208
  • KOI8-R
  • KOI8-U
  • MuleLao-1
  • ROMAN8
  • Shift-JIS
  • TIS-620
  • TSCII
  • UTF-8
  • UTF-16
  • UTF-16BE
  • UTF-16LE
  • Windows-1250 — Windows-1258
  • WINSAMI2


Источник: http://www.qtinfo.ru/sourceencoding
Категория: Мои статьи | Добавил: qt-boy (09.08.2010)
Просмотров: 2376 | Комментарии: 1 | Теги: Указание кодировки строк в исходном | Рейтинг: 0.0/0 |
Всего комментариев: 1
1 ingwarsmith  
0
также удобна функция QObject::trUtf8(QString str)

Имя *:
Email *:
Код *:
Форма входа
3D Облако
Мини-чат
Категории раздела
Мои статьи [19]
Облако
About Qt Qtractor 0.4.2 QList QListView Сравнение MFC и Qt git-репозиторий Qt QFileDialog QtCreator 1.1 Qt Extended Qt Solutions Динамическое приведение QObject Пишем собственный веб броузер библиотеки Qt 4.5.1 Установка иконки приложения на плат QMessageBox Сохранение отзывчивости графическог Вышли бета-версии библиотеки Qt 4.7 qtcreator QT Указание кодировки строк в исходном QInputDialog Стандартные алгоритмы для работы с QColorDialog Примеры использования класса QEvent QFontDialog gif Анимация в QLabel Открытие ссылки в браузере установл Добавление итемов в QTableWidget QMap итератор Помещаем окно посередине экрана Выставляем флаги для окон Отловить нажатие клавиши на QLabel Определить какой именно контрол был Показать на время курсор с песочным Сделать окно модальным Зашифровать данные в MD5 или MD4 Удаление из QlistWidget строки Написание DLL на С++ Диалог открытия файла работа с реестром Ограничение на ввод определенного к QMessageBox подтверждение удаления Многопоточный сервер на примере Чат Текстовый кодек Отправляем файл на PHP скрипт Пример пересылки от клиента к серве Алгоритм сортировки (не очень оптим Вставка текста из буфера обмена(при Удаление повторяющихся элементов в Проверить существует ли файл Распечатка текста из QTextEdit Вывести текст из QTextEdit в диалог Интересное о QFileInfo Отловить событие закрытие окна Устанавливаем иконку для окна Проверка веб ссылки на валидность Функция центрирования окна по серед Иконка для QPushButton Получение списка всех файлов в дире Окно поверх всех Ввод в QLineEdit только цифр и точк Сортировка QListWidget Скачать файл по Ftp Получить список папок Кодирование/Декодирвоание Base64 Получить переменные среды Оставить у диалога только кнопку за Запуск сторонней программы из Qt ис Сохранение настроек приложения в ре Экран заставка SplashScreen Drop Добавление эффекта выделяющего прям Получение информации о свободном пр Запись структуры(пользовательского Получение информации о свободном ди Простой пример использования QProce Как унаследоваться от QObject Перемещение виджета вслед за мышкой Сделать диалог поверх всех окон/поз Повернуть изображение Установка кодеков(русский текст) дл QSignalMapper - как пользоваться Qt приведение типа QFileSystemWatcher следим за директ Добавление сигнала clicked() в QLab Удаление директории с поддиректория Рекурсивный поиск файлов и папок QWheelEvent определить направление Отловить завершение работы системы Валидация на ввод только цифр Центрирование виджета посередине ро styleSheet QLabel красим текст под styleSheet QLabel простой пример styleSheet QTableWidget красим заго styleSheet QTableWidget красим QTab QTableWidgetItem текст по центу Проверка сокета Выход из вложенных циклов styleSheet QPushButton выравнивание
Наш опрос
Оцените мой сайт
Всего ответов: 93
Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0