Кодировка java.util.Scanner

столкнулся с проблемой кодировки текста, который сохраняет обьект класса Scanner.

Пример простого кода сравнения сохраненного значения и заранее прописанного:

import java.util.Scanner;

public class App {
public static void main(String[] args){
    Scanner cons = new Scanner(System.in);
    String text = cons.nextLine();
    System.out.println(text);
    if (text.equals("р")) {
        System.out.println("right");
    }
    else{
        System.out.println("wrong");
    }
  }
}

Он должен сравнить вписанное значение с русской "р", которую прописываю используемой кодировкой, и выводить входную строку.

Проблема в том, что right никогда не выдает, а при выводе вводимого символа пустота или знак вопроса(зависит от кодировки). Пробовал запускать с кодировками UTF-8, UTF-16, Windows 1252, Windows 1251. Пробовал также менять кодировку системы через панель управления на UTF-8, но результата нет.

Пишу код в Visual Studio Code, но при запуске через терминал происходит то же самое.

Версия JDk - 21

ОС Windows 10


Ответы (0 шт):