crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Как получить читабельный текст с помощью readAllStandardError()?
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
igor_bogomolov Дата 26.4.2009, 16:23
  Да не за что :D
XXL Дата 26.4.2009, 16:14
  Так работает!)Огромнейшее спасибо!!!!!!!!!)))Просто огромнейшее!)
igor_bogomolov Дата 26.4.2009, 15:59
  Попробуй кодировку IBM 866. Это вроде досовская кодировка которая используется в консоли Windows.


QByteArray ba = pProc->readAllStandardError();
QTextCodec *codec = QTextCodec::codecForName("IBM 866");
QString string = codec->toUnicode(ba);
XXL Дата 26.4.2009, 15:41
  Вот такая вещь QTextCodec::setCodecForCStrings(QTextCodec::codecForName("windows-1251")); помогла только с командой tar - строки на русском выводятся нормально, но с остальными командными строками - без изменений
igor_bogomolov Дата 26.4.2009, 15:21
  Смотри описание класса QTextCodec, там все есть ;)
XXL Дата 26.4.2009, 13:27
  Привет,всем!) У меня возникла проблема с QProcess,а именно с выводом текста с помощью readAllStandardError() и readAllStandardOutput().
Процесс обрабатывает команды командной строки и я вывожу результаты выполнения команд. Если в строке QString, считанной с помощью readAllStandardError() или readAllStandardOutput() есть латинские символы, они выводятся нормально, но если русский текст, то получается абракадабра. Например, если обрабатывается командная строка "mkdir C:\WorkDir", то с помощью QString strError = pProc->readAllStandardError(); вместо "Подпапка или файл C:\WorkDir уже существуют." получаю "Џ®¤Ї ЇЄ Ё«Ё д ©« C:\WorkDir 㦥 бгйҐбвўгҐв.".
Подскажите, пожалуйста, как получить текст в нормальной кодировке, или как такой нечитабельный текст преобразовать к нормальному виду?
Большое спасибо)
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 11.7.2025, 21:59