Я нахожусь в Windows 7. Системный язык - zh_CN, и нет возможности изменить локаль ОС. При установке java он обнаружил локаль системы, и поэтому java и javac будут, предположительно, выводить свой вывод на локализованный язык (в данном случае китайский). Я не хочу этого поведения, но нет способа изменить его.
Однако это не работает. Я пробовал Cygwin, git bash и Win CMD, все печатают только вопросительные знаки. Ниже приведен пример вывода (от Cygwin):
Кто-нибудь знает, как сделать вывод на английский? Любая помощь высоко ценится!
Я считаю, что вы можете сделать это с помощью этой команды:
java -Duser.language=en -Duser.country=US ...
Я сравнил ваш и мой выпуск javac
и увидел, что в вашем случае текст намного короче. Поэтому я считаю, что ваш javac печатает сообщения на китайском языке, которые не поддерживаются вашим терминалом. Итак, вы должны либо научить своего терминала китайскому, либо переустановить JDK, и выбрать английский как текущий язык интерфейса (если это возможно) или, возможно, загрузить английскую версию JDK.
См. Следующее обсуждение. Попробуйте свои рекомендации, как включить командную строку в соответствие с UTF8.