Java图形中的Unicode不显示

Java图形中的Unicode不显示,java,unicode,graphics2d,Java,Unicode,Graphics2d,为了获得文本而不是框,我必须做什么 我有一个为网页创建图标的web服务 正文开头如下: ニホンフジサワ ステーク / 日本藤… 然后用javascript将其编码为: %EF%BE%86%EF%BE%8E%EF%BE%9D%EF%BE%8C%EF%BD%BC%EF%BE%9E%EF%BD%9C%20%EF%BD%BD%EF%BE%83%EF%BD%B0%EF%BD%B8%20/%20%E6%97%A5%E6%9C%AC%E8%97%A4%E2%80%A6 我在服务器上用Java获取它作为正确

为了获得文本而不是框,我必须做什么

我有一个为网页创建图标的web服务

正文开头如下: ニホンフジサワ ステーク / 日本藤…

然后用javascript将其编码为: %EF%BE%86%EF%BE%8E%EF%BE%9D%EF%BE%8C%EF%BD%BC%EF%BE%9E%EF%BD%9C%20%EF%BD%BD%EF%BE%83%EF%BD%B0%EF%BD%B8%20/%20%E6%97%A5%E6%9C%AC%E8%97%A4%E2%80%A6

我在服务器上用Java获取它作为正确的字符串。所以我知道这不是一个序列化错误

一个子问题是,为什么它在我的调试器中显示为方框(使用IntelliJ),但当我单击它设置文本时,它显示的是正确的文本

我知道字符串在那里,现在我完全不知道如何让Graphics2D显示它。我尝试过使用drawString()、drawBytes()、对字符串进行编码、发送unicode值字符串,但没有任何效果

如果unicode值是基于拉丁语的,比如法语和西班牙语元音,我已经让它工作了。这让我怀疑这是否是某种语言/区域设置问题


非常感谢您的帮助。

通常,当您使用的字体没有您试图显示的字符的字形时,会出现此问题。许多字体不支持全部Unicode字符,因此只显示字符框。如果您将使用的字体更改为完全支持Unicode的字体,则字符应能正确显示。

在David发布之前,我确实找到了一个有用的资源,帮助我发现了这个问题。既然是同一个问题,我给了他最好的答案。但我确实想发布一个链接,帮助我在适当的时候给予赞扬,并帮助其他可能有同样问题的人


在网上进行了一次相当详尽的搜索之后,我确实找到了更多的帮助。你的答案和我找到的一样,所以我会给你的。谢谢