Eclipse STS 控制台无法显示某些 UTF-8 字符

Eclipse STS console fails to display some UTF-8 chars

我正在使用 Spring Tool Suite v4.13.1,Eclipse 3.18 的自定义。

我有以下代码:

NumberFormat fChina = NumberFormat.getCurrencyInstance(Locale.SIMPLIFIED_CHINESE);
NumberFormat fFrance = NumberFormat.getCurrencyInstance(Locale.FRENCH);
System.out.println("French: " + fFrance.format(123456.78));
System.out.println("China:  " + fChina.format(123456.78));

我在控制台上看到的输出是:

法语:123456,78 ¤
中国:¥123,456.78

因此,中国货币字符正确显示,但欧元符号未正确显示。

为了解决这个问题,我在 运行 配置中加入了 UTF-8 编码,如下所示:

java -Dfile.encoding=UTF-8 -classpath /home/.../target com.example.Currencies

我也将终端使用的字体更改为 FreeMono Regular,但这没有任何区别。

我已经阅读了很多与 UTF-8 相关的帖子,但考虑到我可以看到正确的中文货币字符,我认为这可能不是正确的路径。然而,我不知道为什么这个广泛使用的字符不能正确显示。

¤ 是 Unicode U+00A4 - 货币符号。

法国的语言环境应该是 Locale.FRANCE,而不是 Locale.FRENCH

Locale.FRENCH 涵盖任何说法语的地方,因此使用通用货币符号。 Locale.FRANCE 会给你欧元。