Название: Проблема с кодировками utf8 -> cp-1251 Отправлено: Goshman от Апреля 15, 2009, 09:25 Есть проект для linux embedded с использованием Qt. Проект пишется на компе с windows, а собирается для железяки уже на линуксовом компе. Кирилица заменена транслитом и обрабатываются tr(). Собственно на тачскрине все отображается корректно. Необходимо часть сообщений выводить в текстовый файл в кодировке cp-1251. Строка с кириллицей выдергивается транслятором из *.qm файла и, как я понимаю, имеет кодировку utf8. Какие необходимо выполнить преобразования, чтобы записать ее в текстовый файл в кодировке ср-1251?
при инициализации главного окошка используется кодек Код: QTextCodec *codec = QTextCodec::codecForName("UTF-8"); далее по тексту для сохранения ошибок вызывается Код: saveErrLog(int type, const QString &text) "OSHIBKA 1" переведена лингвистом Название: Re: Проблема с кодировками utf8 -> cp-1251 Отправлено: lit-uriy от Апреля 15, 2009, 09:52 >>Строка с кириллицей выдергивается транслятором из *.qm файла и, как я понимаю, имеет кодировку utf8.
Строки в Qt имеют кодировку UTF-16. Т.е. тебе нужно из внутренней кодировки преобразовть в целевую. Удобно такое преобразовние делать с помощью становки кодека для QTextStream (setCodec) Можешь сделать это в своей функции saveErrLog Название: Re: Проблема с кодировками utf8 -> cp-1251 Отправлено: Goshman от Апреля 15, 2009, 11:14 Спасибо большое, помогло!
|