unicode 字符在 IntelliJ IDEA 控制台中显示为问号

2022-09-02 11:38:25

我正在尝试使用 System.out 编写 unicode 字符 (♠),而是打印了一个问号。

如何显示正确的 Unicode 字符而不是问号?

我在Windows上使用IntelliJ IDEA,并尝试从IDE中打印。


答案 1

转到>然后添加以下选项:HelpEdit Custom VM options...

-Dconsole.encoding=UTF-8
-Dfile.encoding=UTF-8

我不确定两者是否必要,但它对我有用。您需要重新启动 IntelliJ 才能应用更改。

我已经尝试过更改Intellij中的每个编码设置,在Gradle中设置这些选项并更改系统编码,这是唯一有效的。


答案 2

2015年的小更新

TL;DR 答案:

转到 -> -> -> 并将其设置为“UTF-8”。SettingsEditorFile EncodingsProject Encoding

扩展答案:

它不起作用的原因可以通过在调用上放置断点来找到。当断点命中时,您可以添加到 ,您可以看到 该值设置为 或类似不合适的内容。System.out.print()System.outWatchesSystem.out.textOut.out.se.cswindows-1252

神奇地为我工作的设置(我不知道为什么)是在->->->。您需要将其设置为“UTF-8”。SettingsEditorFile EncodingsProject Encoding

然后,unicode 字符在控制台上正确显示,并且使用调试器再快速查看一下,就会发现 的值已神奇地变为 。System.out.textOut.out.se.csUTF-8

我之所以说“神奇地”,是因为我不明白编辑器设置应该如何影响在启动/调试应用程序时实例化的字符集。如果有人知道这背后的逻辑是什么,请告诉!System.out


推荐