Мне нужен пользовательский ввод из cmd / терминала, и я хочу, чтобы он был закодирован в UTF-8. Проблема в том, что все, что я пробовал, похоже, не работает, включая множество вещей, которые я нашел в Stackoverflow.
Я пытался использовать класс Scanner с System.in в качестве входных данных, но он не работал:
Scanner scanIn = new Scanner(System.in, "UTF-8");
String command= scanIn.nextLine();
Я должен получить Чеч, вместо этого я получаю ???.
Я знаю, что System.in не использует UTF-8, и эта проблема может лежать там, однако я мог бы использовать альтернативу, если таковая имеется.
package utfexample;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.Scanner;
public class UTFExample {
public static void main(String[] args) throws UnsupportedEncodingException {
System.out.println("Enter command: ");
Scanner scanIn = new Scanner(new InputStreamReader(System.in, "UTF-8"));
String command = scanIn.nextLine();
System.out.println("command: " + command + "\n");
if(command.equals("Č")){
System.out.println("Test was successful!");
}
}
}