Java

Java не правильно отображает Русский Язык

Windows 7
Java 9
Редактор Geany
Кодировка UTF-8
Path правильно настроил а иначе бы не компилировалась
Это командный интерпретатор Windows показывает ваше сообщение в UTF-8 в своей "родной" кодировке OEM (для русскоязычной Windows это cp866). К сожалению, практических способов заставить Windows правильно отображать не-однобайтные кодировки не представляется возможным.
Теоретически командный интерпретатор можно переключить (с помощью команды chcp 65001) в режим Unicode, но практически после этого в кишках у Windows происходит что-то необратимое и показывать все равно не будет.
Это тяжелое наследие MS-Dos 80-ых годов прошлого века, которое тянется до сих пор в целях совместимости (вдруг вы запустите программу под MS-Dos). В то время американцы даже подумать не могли, что в программе будут использоваться какие-то иные символы, кроме их родных английских букв.

Можно написать костыль, который будет конвертировать некоторые многобайтовые символы (у которых есть соответствие) в соответствующие коды однобайтовой кодировки под эту данную конкретную задачу.
Можно использовать только символы из первой половины ASCII- таблицы (англ. буквы, цифры, знаки препинания) - этот способ использую я.

В операционных системах Linux консоль изначально Unicode-ная, там изначально закладывалась способность отображать любой символ, даже тех, которые не были известны разработчикам и появятся в будущем. Поэтому можете переезжать на какую-нибудь Ubuntu и кодить там.
Rafael Parsyan
Rafael Parsyan
90 903
Лучший ответ
У меня нет проблем с выводом русских букв в консоли, но не работает ввод. Если у вас неверная кодировка при выводе на консоль, возможно вы неправильно запускаете компилятор, или консоль настроена нестандартно.
Лучше установите IDE для Java, например NetBeans или Eclipse. Редактор не заменяет IDE.
E.
Eгор .
58 065