Russian Qt Forum

Qt => Интернационализация, локализация => Тема начата: XXL от Апрель 26, 2009, 13:53



Название: Как получить читабельный текст с помощью readAllStandardError()?
Отправлено: XXL от Апрель 26, 2009, 13:53
Привет,всем!) У меня возникла проблема с QProcess,а именно с выводом текста с помощью readAllStandardError() и readAllStandardOutput().
Процесс обрабатывает команды командной строки и я вывожу результаты выполнения команд. Если в строке QString, считанной с помощью readAllStandardError() или readAllStandardOutput() есть латинские символы, они выводятся нормально, но если русский текст, то получается абракадабра. Например, если обрабатывается командная строка "mkdir C:\WorkDir", то с помощью QString strError = pProc->readAllStandardError(); вместо "Подпапка или файл C:\WorkDir уже существуют." получаю "Џ®¤Ї ЇЄ Ё«Ё д ©« C:\WorkDir 㦥 бгйҐбвўгҐв.".
Подскажите, пожалуйста, как получить текст в нормальной кодировке, или как такой нечитабельный текст преобразовать к нормальному виду?
Большое спасибо)


Название: Re: Как получить читабельный текст с помощью readAllStandardError()?
Отправлено: Пантер от Апрель 26, 2009, 20:55
Читай про QTextCodec.


Название: Re: Как получить читабельный текст с помощью readAllStandardError()?
Отправлено: developer от Май 22, 2009, 23:27
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("cp1251"));

delajesh etot kod v "int main()". I vse russkije stroki bydyt vidnu normalno