Русская кодировка в Qt, Не видны буквы... |
Здравствуйте, гость ( Вход | Регистрация )
Русская кодировка в Qt, Не видны буквы... |
++Norton++ |
12.2.2009, 14:58
Сообщение
#1
|
Студент Группа: Участник Сообщений: 98 Регистрация: 5.10.2008 Пользователь №: 380 Спасибо сказали: 0 раз(а) Репутация: 1 |
Есть такой вот такие куски кода:
и
В первом случае в statusLabel (label) выводятся нечитаемые символы неизвестной кодировки. Во втором случае в файл записывается только "This is test: ". Слово "Тест" в него вообще не записывается. Вопрос в том, можно ли как-нибудь это все поправить? |
|
|
Litkevich Yuriy |
12.2.2009, 15:43
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("Windows-1251")); ///< Для строковых констант Это не для констант, а для внутреннего преобразования QString/QByteArrayи для строк лучше так не задовать кодировку можно так:
для вывода в консоль можно отдельно задать кодировку:
CON_ENCOD - требуемый кодек |
|
|
AD |
12.2.2009, 17:12
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
можно так:
Блин вот как раз для tr() следует задать кодек с Windows-1251. Проверил на своем приложении и у меня как раз на QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")) выдалась "абра-казябра". Так что для tr() если что, употребляй как раз
|
|
|
Текстовая версия | Сейчас: 20.4.2024, 17:18 |