gpt4 book ai didi

Java:如何检测(和更改?)System.console 的编码?

转载 作者:太空狗 更新时间:2023-10-29 22:39:44 25 4
gpt4 key购买 nike

我有一个在控制台上运行的程序,它的变音符号和其他特殊字符在 Mac 上输出为 ?。这是一个简单的测试程序:

public static void main( String[] args ) {
System.out.println("höhößüä");
System.console().printf( "höhößüä" );
}

在默认的 Mac 控制台(使用默认的 UTF-8 编码)上,打印:

 h?h????
h?h????

但是手动设置Mac终端编码为“Mac OS Roman”后,打印正确

 höhößüä
höhößüä

请注意,在 Windows 系统上使用 System.console() 有效:

 h÷h÷▀³õ
höhößüä

那么如何让我的程序...rolleyes...“到处运行”?

最佳答案

启动应用程序时尝试以下命令行参数:

-Dfile.encoding=utf-8

这会更改 JVM 对 I/O 操作的默认编码。

你也可以试试:

System.setOut(new PrintStream(System.out, true, "utf-8"));

关于Java:如何检测(和更改?)System.console 的编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2415597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com