Как научить консоль выводить русские символы в VS Code?
Вот кусок кода, который должен выводить в консоль сообщения на русском:
public static void menu() throws IOException, InterruptedException {
setDebugMode(false);
try {
switch (state) {
case 1:
println("_______________________________________________________________________________________________________________________");
println(" ");
println("Это программа создана для блаблабла, ");
println("а также высчитывания блаблабла.");
println("_______________________________________________________________________________________________________________________");
println(" ");
state++;
Я запускаю уже собранный jar
файл с помощью .bat
файла:
@echo off
chcp 65001 > nul
powershell -Command java -jar platecalcuator-1.0.1-SNAPSHOT.jar
pause
Вот что выводит консоль:
Active code page: 65001
_______________________________________________________________________________________________________________________
Рто программа для высчитывания количества получаемых пластин нужного размера РёР· листов большего размера,
а также высчитывания себестоймости этих самых пластин и прибыли.
_______________________________________________________________________________________________________________________
Доступные команды:
- DELETE (введите чтобы удалить пресет)
- DELETEALL (введите чтобы удалить все пресеты)
- DEBUG (для разработчиков)
- -00 (Прерывает программу, доступна ВЕЗДЕ, удаляет текущий пресет во время создания.)
- �спользуйте -00 если нужно отменить создание пресета.
- Не рекомендуется использовать в ином случае.
Нажмите 'Enter' чтобы продолжить
.bat
сохранен в utf-8
, и в VS Code терминал успешно выводит кириллицу.
Шрифт consolas
Ответы (4 шт):
Для этого откройте командную строку (cmd) от имени администратора, введите команду chcp 1251 и нажмите Enter. Затем переключите кодовую страницу на CP866 командой chtty 866 и проверьте, появился ли русский язык в консоли.
Я просто добавил System.setOut(new PrintStream(System.out, true, "UTF-8"));
перед использованием System.Out.print
Обработайте его в блоке try-catch
.
Не шарю за Java, но для C++ помогло заставить компилятор использовать кодировку windows-1251 (добавил флаг -fexec-charset=windows-1251)
@echo off
:: Set the compiler and flags
set COMPILER=g++
set FLAGS=-static -fexec-charset=windows-1251
:: Compile the C++ file
%COMPILER% %FLAGS% ..\main.cpp -o main.exe
:: Pause to see the output
pause