Учитывая UTF-8 + Windows CMD кошмар ...
После прочтения этого вопроса , являются ли эти решения только частичными? Есть ли способ установить глобально набор символов / кодировку в среде cmd? Кажется, что команда CHCP не меняет кодировки stdout / stderr.
Чтобы проверить это: напишите программу, которая заполняет файл латинскими / корейскими / украинскими строками.
При прямом выводе файл будет в порядке, если вы правильно установите кодировку в исходном коде (я проверил это с помощью Java, простые настройки кодирования для файлов). Но если вы перенаправите свой вывод в файл журнала, вы просто будете иметь ряд ????????????????????
...
Также может быть полезно перенаправление, например:
PROMPT> myprog < inputdata.txt > outputdata.txt
Я что-то пропустил? Это cmd, который плохо конвертирует stdout, или Java, который адаптирует System.out, в зависимости от кодировки cmd? Я не нашел никакого метода, чтобы переопределить кодировку System.out / err.
источник
DejaVu Sans Mono
установлен шрифт.Ответы:
Работает на C #.
Должно работать и на Java, возможно, вы делаете это неправильно. Вы должны поместить свой код проблемы в stackoverflow и спросить, где вы ошибаетесь с инструкциями кодирования.
Я сделал что-то подобное в C #
Вы имеете в виду на дисплее
Вы должны получить правильное утверждение кодировки в своем коде, тогда> будет работать.
Мне не нужно было менять CHCP, чтобы просто перенаправить символы unicii не ascii в файл. Или, говоря по-другому.
Это все проблема с вашим кодом Java.
Посмотрите, как это работает здесь, в C #
https://stackoverflow.com/questions/30904504/font-is-right-why-cant-i-get-this-unicode-character-to-display-in-this-c-sharp
И посмотрите на мой комментарий к ответу Хтина. Но это для C #
Вы хотите это для Java, опубликуйте демонстрационный фрагмент кода со своим вопросом в stackoverflow. Это проблема программирования, которая у вас есть.
источник