Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Проблема с консолью Windows7

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

LordVadim

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Система Windows 7 64
 
Помогите найти решение проблемы:
 
Имеется exe-файл который после запуска в консоли (cmd.exe) выводит текстовую информацию.
Файл, скорей всего, написан на Java. Информация выводится в кодовой странице 850.
При переключении в консоли кодовой страницы командой "chcp 850" информация на экран выводится правильно. А вот при попытке сохранить вывод консоли в файл "1> test.txt" все специальные символы, типа: ®, © - заменяются на знаки "?". Можно ли решить эту проблему?
 
Мне нужен результирующий текстовый файл содержащий весь вывод со всеми спецсимволами, как это сделать?
 
P.S. Перекодировать полученный файл в другую кодировку не предлагать. Это не решает проблемы, так как в файл вместо спецсимволов записываются знаки "?" и в какую бы кодировку не переводился файл, они все равно остаются знаками "?".

Всего записей: 7 | Зарегистр. 29-04-2009 | Отправлено: 13:41 01-03-2016
KDPoid



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Т.е. если вы откроете в far-е test.txt и переключите отображение в 850-ю кодовую страницу, вы не увидите осмысленного текста ?

Всего записей: 404 | Зарегистр. 08-08-2006 | Отправлено: 19:20 01-03-2016
protoror



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
clink?

Всего записей: 494 | Зарегистр. 23-11-2009 | Отправлено: 20:21 01-03-2016
LordVadim

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KDPoid, я увижу осмысленный текст, но вместо спецсимволов будут знаки "?", а меня это не устраивает.
 
 
Добавлено:
По порядку:
После запуска cmd и выполнения программы получаем такой результат:
 
   
 
Тоже самое записывается в текстовый файл по команде "> text.txt"
 
Если в cmd выполняем команду chcp 850 - результат на экране получается таким как надо:
 
   
 
Но по команде "> text.txt" в фал записывается все равно тоже, что и в первом варианте.
 
P.S. Отличия цифр в результатах - не важно, важно отсутствие спецсимволов (вернее замена их знаком "?").

Всего записей: 7 | Зарегистр. 29-04-2009 | Отправлено: 21:01 01-03-2016 | Исправлено: LordVadim, 19:42 02-03-2016
KDPoid



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Чтобы пост ваш имел хоть какое-то отношение к программированию, приложите, что-ли, линк на вашу программу.
Картинки с киберфорума не вижу, и файлы оттуда взять не могу, т.к. нет там аккаунта.

Всего записей: 404 | Зарегистр. 08-08-2006 | Отправлено: 05:40 02-03-2016
LordVadim

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Извиняюсь, не думал, что картинки видно не будет.
Сообщение отредактировал.
Ссылка на архив с программой: Ссылка
В архив программы я специально добавил два bat-файла с теми командами, результат работы которых мне нужен в файле.
Запустив test.bat - информация отобразится на экране в правильном виде.
Запуск test-file.bat - должен ту же информацию сохранить в файл, а он этого не делает (спецсимволы заменяются знаками "?").

Всего записей: 7 | Зарегистр. 29-04-2009 | Отправлено: 19:45 02-03-2016
NeoAnomaly

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не смог у себя повторить, даже специально накидал тестик, который выводит в разных кодировках инфу, итог без chcp отображается коряво, но перенаправление всегда отрабатывает так, как надо.
 
LordVadim, залей свой итоговый файл.
 
Может ОС какая-нибудь сборка с альтернативным терминалом?

Всего записей: 419 | Зарегистр. 23-03-2010 | Отправлено: 23:31 02-03-2016 | Исправлено: NeoAnomaly, 23:37 02-03-2016
LordVadim

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ОС - Windows 7 64 (лицензия)
 
Итоговый файл: Ссылка

Всего записей: 7 | Зарегистр. 29-04-2009 | Отправлено: 23:47 02-03-2016
KDPoid



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NeoAnomaly
У меня воспроизводится. И на Win10 воспроизводится. На экране вижу некоторые символы, в файл вместо них пишутся "?" (0x3F)

Всего записей: 404 | Зарегистр. 08-08-2006 | Отправлено: 05:11 03-03-2016
LordVadim

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
У меня воспроизводится. И на Win10 воспроизводится. На экране вижу некоторые символы, в файл вместо них пишутся "?" (0x3F)  

Так в этом то и проблема. Мне нужны в файле эти символы, а не "?" (0x3F).

Всего записей: 7 | Зарегистр. 29-04-2009 | Отправлено: 07:34 03-03-2016
NeoAnomaly

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А если самому замутить перенаправление stdout? По крайней мере открывается простор для творчества, что отсутствует в варианте с cmd.
 
Ну или написать авторам программы, в файликах есть адрес багтрекера на bitbucket.

Всего записей: 419 | Зарегистр. 23-03-2010 | Отправлено: 18:15 03-03-2016 | Исправлено: NeoAnomaly, 18:17 03-03-2016
LordVadim

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 
А если самому замутить перенаправление stdout? По крайней мере открывается простор для творчества, что отсутствует в варианте с cmd.  
 
Ну или написать авторам программы, в файликах есть адрес багтрекера на bitbucket.

Авторам писать смысла нет, если символ на экране консоли появляется - значит программа его выдаёт, а следовательно дело не в программе - "собака зарыта где то в недрах Windows"
Перенаправление консольного вывода пробовал сделать в RAD Studio - тоже выводит знаки "?".
Похоже придется забить на это дело - слишком много времени отнимает, не стоит оно того.

Всего записей: 7 | Зарегистр. 29-04-2009 | Отправлено: 19:18 03-03-2016
NeoAnomaly

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Авторам писать смысла нет, если символ на экране консоли появляется - значит программа его выдаёт, а следовательно дело не в программе - "собака зарыта где то в недрах Windows"  

К сожалению не силён в консольной подсистеме и кодировках(всё руки не доходят), может и так
 
С другой стороны фичреквест на нативный вывод в файл результата работы - разбор ещё одного параметра командной строки и создание файла. На java десяток строк?

Всего записей: 419 | Зарегистр. 23-03-2010 | Отправлено: 19:35 03-03-2016
LordVadim

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
К сожалению не силён в консольной подсистеме и кодировках(всё руки не доходят), может и так  
 
С другой стороны фичреквест на нативный вывод в файл результата работы - разбор ещё одного параметра командной строки и создание файла. На java десяток строк?

А я, к сожалению, не силен в java

Всего записей: 7 | Зарегистр. 29-04-2009 | Отправлено: 21:39 03-03-2016
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Проблема с консолью Windows7


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru