如何使用 Scanner 类从键盘读取希腊语输入



我研究Java已经有一段时间了,我刚刚遇到了这个问题。当我尝试使用扫描仪类阅读希腊字母时,一切都出错了。

例--在主要方法

Scanner sc=new Scanner(System.in);
System.out.println(sc.nextLine());
-

-例如,在控制台中键入

->Ελλάδα

我得到的结果是:

我正在使用netbeans IDE。

我做错了什么吗?扫描仪支持希腊字母?有什么替代解决方案吗?谢谢。

**刚刚找到了我问题的解决方案。由于netbeans的默认编码似乎不是utf-8,所以我编辑了netbeans install/etc/netbeans.conf文件。在以:netbeans_default_options开头的行中,我在字符串的末尾添加了这个:-J-Dfile.encoding=UTF-8,所以现在它看起来像这样


netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true -J-Dfile.encoding=UTF-8">


您需要

将扫描仪默认编码设置为 UTF8。 这将允许您正确显示希腊字符:

import java.util.Scanner;
public class Answer {
    public static void main(String args[]) {
        Scanner keyboard = new Scanner(System.in, "utf-8");
        System.out.println("enter greek letters");
        String myStr = keyboard.next();
        System.out.println(myStr);
    }
}

要尝试的另一件事是确保 NetBeans 具有"适用于 NetBeans 应用程序"的正确 (UTF-8( 编码集。 看一看:https://www.muehlencord.de/wordpress/2015/10/16/netbeans-utf8-encoding/

这将告诉您如何设置"Netbeans 上的 UTF-8 编码"。

最新更新