Russian Qt Forum
Ноябрь 23, 2024, 05:27 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как получить читабельный текст с помощью readAllStandardError()?  (Прочитано 3660 раз)
XXL
Гость
« : Апрель 26, 2009, 13:53 »

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

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Апрель 26, 2009, 20:55 »

Читай про QTextCodec.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
developer
Гость
« Ответ #2 : Май 22, 2009, 23:27 »

QTextCodec::setCodecForCStrings(QTextCodec::codecForName("cp1251"));

delajesh etot kod v "int main()". I vse russkije stroki bydyt vidnu normalno
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.044 секунд. Запросов: 22.