我正在研究java一段时间,我刚遇到这个问题。 当我尝试用扫描仪类阅读希腊字母时,一切都出错了。
实施例 - 主要方法
Scanner sc=new Scanner(System.in);
System.out.println(sc.nextLine());
- 在控制台i中键入例如
->Ελλάδα
我得到的结果是:������
我正在使用netbeans IDE。
我做错了什么?扫描仪支持希腊字母?对此有任何替代解决方案吗?感谢。
答案 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编码”。