java - UTF-8 字符在 JOptionPane 中不正确

标签 java swing utf-8 character-encoding jlabel

请看下面的示例代码,UTF-8字符在windows机器上正常显示。但是,它不适用于 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);
  }
}

有什么办法可以解决这个问题吗?

最佳答案

并非所有字体都包含完整的 unicode 字形集。这些 Blob 可能是字体不足的结果,但在 Java 中很难确定实际使用的是什么字体,而且我不知道有什么方法可以确定这些 Blob 是否被发出,除非通过查看它们。

我在弹出菜单中遇到了 unicode 的巨大问题,这可能是一个非常相似的问题 给你的。

2 件事要尝试。

1) 编写一个字体测试以在 java 可用的所有字体中显示您的字符串。 2)尝试使用非 Swing 组件。非 swing 组件使用底层操作系统字体支持。

关于java - UTF-8 字符在 JOptionPane 中不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16272666/

相关文章:

java - 将图像大小调整为从 Swing 应用程序中的文件选择器动态获取的 JLabel 的大小

html - 谁在复制/粘贴时进行转换?

mysql - 将mysql中所有非utf8字符改为utf-8(编码问题)

java - @QueryParam 无法获取请求参数

java - 如何使用 PowerMock 模拟构造函数的不同响应

java - 在 JPanel 上显示所有绘制的形状

java - 带有外来字符的 url 的 response.sendredirect - 如何编码?

java - jQuery js 文件未加载

java - Thymeleaf "th:each"忽略 "th:switch"?

java - 如何将 JTextField 或 JButton 移至左侧