Java 如何从键盘获取UTF-8字符或将其删除

Java 如何从键盘获取UTF-8字符或将其删除,java,character-encoding,Java,Character Encoding,我正在使用扫描器类,如下所示: Scanner sc = new Scanner(System.in); System.out.println(sc.nextLine()); 它工作正常,但如果输入包含utf-8字符,则控制台无法读取它们 那么,在没有utf-8的情况下,如何从键盘获取utf-8字符或设置输入 非常感谢。请尝试指定编码和区域设置: Locale locale = new Locale("vi" , "VN"); Scanner sc = new Scanner(System.i

我正在使用
扫描器
类,如下所示:

Scanner sc = new Scanner(System.in);
System.out.println(sc.nextLine());
它工作正常,但如果输入包含utf-8字符,则控制台无法读取它们

那么,在没有utf-8的情况下,如何从键盘获取utf-8字符或设置输入


非常感谢。

请尝试指定编码和区域设置:

Locale locale = new Locale("vi" , "VN");
Scanner sc = new Scanner(System.in, "UTF-8");
sc.useLocale(locale);
System.out.println(sc.nextLine());

你正在使用哪个操作系统?如果让我猜的话,你正在使用Windows。问题可能是您的主机的字符集之一。是的,Mark Rotterveel,我正在使用Windows。我认为无法从键盘获取VN语言。这可能不起作用,
系统。在
中已经是字符流,因此如果控制台支持UTF-8,它就已经起作用了。感谢您的热情Isma,我几天前就尝试过这种方法。如果C#是任何指示,您需要以某种方式专门配置控制台本身的字符集。