Java 未显示非ASCII字符

Java 未显示非ASCII字符,java,swing,unicode,Java,Swing,Unicode,我有点奇怪的问题 我正在开发一个JavaWebStart应用程序(使用swing),它在(画布)JPanel上绘制一个特定的图像。其中一些占位符的文本为非ASCII字符 现在,当在画布上绘制该图像时,画布显示“[]”,好像无法识别这些UTF-8编码字符的本机表示形式。但当我单击这些占位符时,它们的属性侦听器会显示一个对话框,允许用户在其中编辑它们所持有的文本。现在,奇怪的是,这些对话框以真实和正确的形式显示非ASCII文本(意味着我可以编辑此文本) 现在这违背了我的概念,可能是操作系统没有这些字

我有点奇怪的问题

我正在开发一个JavaWebStart应用程序(使用swing),它在(画布)JPanel上绘制一个特定的图像。其中一些占位符的文本为非ASCII字符

现在,当在画布上绘制该图像时,画布显示“[]”,好像无法识别这些UTF-8编码字符的本机表示形式。但当我单击这些占位符时,它们的属性侦听器会显示一个对话框,允许用户在其中编辑它们所持有的文本。现在,奇怪的是,这些对话框以真实和正确的形式显示非ASCII文本(意味着我可以编辑此文本)

现在这违背了我的概念,可能是操作系统没有这些字符的本机表示。尽管如此,我的系统上已经安装了东亚语言支持,并安装了windows 7

更奇怪的是,当我在RHEL5桌面上的浏览器上运行同一个应用程序时,它在画布上以及对话框中显示了正确的表示,这有点违背了这个应用程序背后的代码存在问题的概念

目前,我还不清楚是什么原因导致了这种情况。
有人能帮帮我吗

谢谢,

kshtjsnghl

可能只是使用的字体不支持这些字符的问题。尝试将其更改为您知道能够支持所需字符的字体。

但问题是,当您在不同的对话框中打开相同的字符时,它们被正确地表示出来。哪种字体表示字体支持这些字符。@kshtjsnghl:不,恰恰相反。字符在不同对话框中正确显示的事实表明数据是正确的,这是一个显示问题。。。这又回到了字体的原因。请尝试将无效控件的字体设置为与有效控件的字体相同。进一步的问题是,它们都在linux系统上正确表示文本。@kshtjsnghl:这更说明这是一个渲染问题。。。再次,寻找能够满足您需要的字体。进一步研究这个问题,我发现在我们的应用程序中,我们实际上是在设置UIManager的外观,这取决于它运行的操作系统(内部识别),即使用的系统字体。linux设备上使用的字体与windows客户端上使用的字体不同,并且windows客户端上未显示该字体。有人能帮我知道哪种字体可以在窗口上使用,这将成功地呈现完整的画布。