请查看以下示例代码,在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);
}
}
有什么方法可以解决这个问题吗?
答案 0 :(得分:2)
并非所有字体都包含完整的unicode字形集。 blob可能是字体不足的结果,但在java中很难确定实际使用的是什么字体,而且我不知道如何确定这些blob是否被发射,除非看到它们。
我在弹出菜单中遇到了unicode的大问题,这可能是一个非常类似的问题 对你的。
要尝试的两件事。
1)编写一个字体测试,以所有可用于java的字体显示字符串。 2)尝试使用非摆动组件。非摆动组件使用底层的OS字体支持。