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

时间:2017-05-24 14:07:25

标签: java unicode utf-8

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

实施例 - 主要方法

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

- 在控制台i中键入例如

->Ελλάδα

我得到的结果是:������

我正在使用netbeans IDE。

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

2 个答案:

答案 0 :(得分:2)

**刚刚找到了我的问题的解决方案。因为看起来netbeans的默认编码不是utf-8所以我编辑了netbeans安装/ 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“

答案 1 :(得分:0)

您需要将扫描仪默认编码设置为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编码”。