UTF-8字符编码在控制台(Linux)上不起作用



在我的java程序中,我想输出这个字符:⊨

它在Eclipse中工作,但在我的bash控制台上不工作。

这是我的主菜:

public static void main(String[] args) {
    System.out.println(System.getProperty("file.encoding"));
    System.out.println(Charset.defaultCharset().name());
    String original = "u22A8";
    System.out.println("original = " + original);
}

这是我在Eclipse内置控制台中的输出。注意,我设置了Run Configurations > Common > Encoding > Other > UTF-8

UTF-8
UTF-8
original = ⊨

这是我用java -Dfile.encoding=UTF-8 Main 调用时在终端上的输出

UTF-8
UTF-8
original = â¨

这是我用java Main 调用时在终端上的输出

ANSI_X3.4-1968
US-ASCII
original = ?

我如何使它在控制台上工作?

我忘了在控制台内设置编码。因此,当将其设置为UTF-8时,调用java -Dfile.encoding=UTF-8 Main会产生正确的结果。

最新更新