unicode 字符在 IntelliJ IDEA 控制台中显示为问号
2022-09-02 11:38:25
我正在尝试使用 System.out 编写 unicode 字符 (♠),而是打印了一个问号。
如何显示正确的 Unicode 字符而不是问号?
我在Windows上使用IntelliJ IDEA,并尝试从IDE中打印。
我正在尝试使用 System.out 编写 unicode 字符 (♠),而是打印了一个问号。
如何显示正确的 Unicode 字符而不是问号?
我在Windows上使用IntelliJ IDEA,并尝试从IDE中打印。
转到>然后添加以下选项:HelpEdit Custom VM options...
-Dconsole.encoding=UTF-8
-Dfile.encoding=UTF-8
我不确定两者是否必要,但它对我有用。您需要重新启动 IntelliJ 才能应用更改。
我已经尝试过更改Intellij中的每个编码设置,在Gradle中设置这些选项并更改系统编码,这是唯一有效的。
TL;DR 答案:
转到 -> -> -> 并将其设置为“UTF-8”。Settings
Editor
File Encodings
Project Encoding
扩展答案:
它不起作用的原因可以通过在调用上放置断点来找到。当断点命中时,您可以添加到 ,您可以看到 该值设置为 或类似不合适的内容。System.out.print()
System.out
Watches
System.out.textOut.out.se.cs
windows-1252
神奇地为我工作的设置(我不知道为什么)是在->->->。您需要将其设置为“UTF-8”。Settings
Editor
File Encodings
Project Encoding
然后,unicode 字符在控制台上正确显示,并且使用调试器再快速查看一下,就会发现 的值已神奇地变为 。System.out.textOut.out.se.cs
UTF-8
我之所以说“神奇地”,是因为我不明白编辑器设置应该如何影响在启动/调试应用程序时实例化的字符集。如果有人知道这背后的逻辑是什么,请告诉!System.out