Friday, December 21, 2007

Проблемы с консолью Windows

Если в Java-приложении на консоль выводится информация на русском языке (например при запуске тестов через Maven2), то Windows все русские символы по умолчанию выводит как абракадабру:



Раньше я не обращал особо на это внимание, потому что всеравно отладку делаю в Eclipse, где все нормально. Давно надо было уже пофиксить - вот здесь рассказывается как (меняем кодовую страницу chcp 1251 и ставим шрифт Lucida Console).

Обновление 04.05.2008
Опять столкнулся с этой проблемой, только теперь в установке Oracle BI. При установке можно было выбрать на каком языке выводить сообщения сервера. Я выбрал русский и в консоль опять полезла абракадабра.

После установки Oracle BI OC4J запускается автоматически при запуске Windows (в реестре делается соответствующая запись со ссылкой на oc4j.cmd). Я сделал свой командный файл и обновил запись в реестре, чтобы она указывала на мой файл. Вот что в этом файле:


TITLE oc4j-bi
CHCP 1251
"E:\OracleBI\oc4j_bi\bin\oc4j.cmd" %1

При первом запуске нужно зайти в свойства окошка консоли и выбрать шрифт Lucida Console и при сохранении свойств выбрать "Применить настройки для всех окон с таким заголовком".


Проблема номер два, но это уже скорее к Windows, чем к консоли.
В очередной раз наткнулся на проблему с превышением длинны командной строки (8Кб максимум). Причиной стал JPOX Enhancer, который строит слишком длинную строку для запуска своей утилиты. Пришлось делать workaround.

Все это про Windows XP, не знаю, изменилось ли что-то в Vista?