在我的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
会产生正确的结果。