如何比较包含unicode字符的两个单词?

时间:2017-11-07 08:17:17

标签: java unicode

我正在尝试创建一个处理单词的语言模型,因为我的语料库是外语的,所以我有问题,因此有un,ħ和ż这样的unicode字符,但.equals不能处理带有这些的单词即使我正在从文本文件中读取文本并完全复制这些单词。我该怎么做才能解决这个问题?

public class test3 {
  public static void main(String[] args) {
    Scanner s = new Scanner(System.in);
    String line;
    System.out.print("Enter string: ");
    line = s.nextLine();
    if(line.equals("aħħar")){
        System.out.println("Correct"); 
    } else {
        System.out.println("Incorrect");
    }
  }
}

I have entered the word 'aħħar' and keep getting "Incorrect".

1 个答案:

答案 0 :(得分:0)

最可能的原因是读取的默认编码 来自标准输入(通过扫描仪)与操作系统使用的不匹配。

请注意,Scanner的构造函数对于用于将文件中的字节转换为要扫描的字符的编码类型具有附加参数String charsetName。添加适当的值,该值可能因操作系统和安装而异。