2013-04-29 5 views
9

Windowsマシンに正しく表示されるUTF-8文字のサンプルコードを見てください。しかし、それはLinuxマシン(Ubuntu)には適していません。JOptionPaneでUTF-8文字が正しくありません

import javax.swing.JOptionPane; 

public class JContPaneTest 
{ 
    public static void main(String[] args) 
    { 
    JOptionPane.showMessageDialog(null, "\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002\u30c7\u30fc\u30bf\u30d9\u30fc", "Error",JOptionPane.ERROR_MESSAGE); 
    } 
} 

この問題を解決する方法はありますか?

+0

* "しかし、Linuxマシン(Ubuntu)では適切ではありません。" * Ubuntuでは何が表示されますか?水玉、四角、星..? –

+0

@AndrewThompsonの四角。 – sprabhakaran

+1

これは文字エンコードの問題のようには聞こえません。いくつかのフォントが欠落している可能性が高くなります。 –

答えて

2

すべてのフォントに、ユニコードの完全なグリフが含まれているわけではありません。ブロブは不完全なフォントの結果かもしれませんが、実際にどのフォントが使用されているのかを判断するのは難しいですが、これらのブロブが表示されているかどうかを判断する方法はわかりません。

私はポップアップメニューでユニコードに大きな問題を抱えていましたが、これはおそらく非常によく似た問題です あなたのものです。

2件を試してみてください。

1)文字列をJavaで使用可能なすべてのフォントで表示するフォントテストを作成します。 2)スイングしないコンポーネントを使用してみます。ノンスイングコンポーネントは、基礎となるOSフォントサポートを使用します。

関連する問題