在NetBeans 15中,我可以在编辑器中写入'à'和'è'这样的字符,但是如果我尝试在控制台中打印它们,它们就不会显示出来,如果我输入字符的ASCII码,也会发生这种情况。如果我手动编译并运行程序,一切都很好。
bqujaahr1#
已解决:问题出现在Java 18中实现的一个更改JEP 400: UTF-8 by Default上。其中声明:“在所有标准Java API中使用UTF-8实现标准化,控制台I/O除外”。我已解决添加(仅适用于JDK 18)if(!"UTF-8".equals(System.out.charset().displayName())){ System.setOut(new PrintStream( new FileOutputStream(FileDescriptor.out), true, StandardCharsets.UTF_8)); }的问题
if(!"UTF-8".equals(System.out.charset().displayName())){ System.setOut(new PrintStream( new FileOutputStream(FileDescriptor.out), true, StandardCharsets.UTF_8)); }
1条答案
按热度按时间bqujaahr1#
已解决:问题出现在Java 18中实现的一个更改JEP 400: UTF-8 by Default上。其中声明:“在所有标准Java API中使用UTF-8实现标准化,控制台I/O除外”。
我已解决添加(仅适用于JDK 18)
if(!"UTF-8".equals(System.out.charset().displayName())){ System.setOut(new PrintStream( new FileOutputStream(FileDescriptor.out), true, StandardCharsets.UTF_8)); }
的问题