9

以下のサンプル コードを見つけてください。Windows マシンで UTF-8 文字が正しく表示されます。ただし、Linux マシン (Ubuntu) には適していません。

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);
  }
}

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

4

1 に答える 1

2

すべてのフォントにグリフの完全な Unicode セットが含まれているわけではありません。ブロブはおそらく不十分なフォントの結果ですが、Java では実際に使用されているフォントを判断するのは難しく、これらのブロブが放出されているかどうかを確認する以外に判断する方法はわかりません。

ポップアップ メニューの Unicode に大きな問題がありましたが、これはおそらくあなたの問題と非常によく似た問題です。

2つのことを試してください。

1) Java で使用可能なすべてのフォントで文字列を表示するフォント テストを記述します。2) 非スイング コンポーネントを使用してみてください。Swing 以外のコンポーネントは、基盤となる OS フォント サポートを使用します。

于 2013-04-30T19:27:16.360 に答える