【问题标题】:Showing Chinese localization characters using unicode resource file使用 unicode 资源文件显示中文本地化字符
【发布时间】:2015-06-13 13:36:47
【问题描述】:

我有一个使用资源包文件支持多个语言环境的 Java 应用程序。该应用程序目前已翻译成西班牙语、意大利语、葡萄牙语和简体中文。

在测试翻译时,应用程序会启动

 javaw -Duser.language=zh -Duser.country=CN  ...

此显示对除中文以外的所有语言都是正确的。但是,经过一些测试后,我看到应用程序标题显示正确的工具提示文本。 我的标签测试示例:

    jLabel3.setFont(new java.awt.Font("Calibri", 1, 14)); // NOI18N
    jLabel3.setForeground(new java.awt.Color(0, 70, 70));
    jLabel3.setText(bundle.getString("Password")); // NOI18N
    jLabel3.setToolTipText(bundle.getString("Password")); // NOI18N

密码的unicode是

 Password=\u5bc6\u7801

工具提示文本和对话框标题显示正确,但标签或按钮文本显示不正确。它们显示带有“?”的正方形里面。我没有 10 声望,所以我不能发布图片。

环境: 操作系统:Windows 7 64 位; NetBeans IDE 8.0.2; JDK 1.7

【问题讨论】:

    标签: java unicode localization chinese-locale


    【解决方案1】:

    我相信 Calibri 字体没有字符 \u5bc6\u7801。至少在我的 Windows 8.1 安装中。您可以使用“charmap.exe”检查是否安装了它。尝试另一种字体。 Arial 在我的默认安装中包含字符 \u5bc6。

    【讨论】:

    • 感谢您的建议。我尝试了 Tahoma 和 Arial 但仍然没有显示。但是有一个区别:而不是带有“?”的正方形里面只是一个正方形。
    • 我打印出 ToolTip (SansSerif) 使用的字体并更改了我的标签和按钮 --> 现在所有字符都按预期显示所有语言。我想我将不得不在任何地方将 Calibri 更改为 SansSerif。有什么建议可以在 NetBeans 中自动执行此操作?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-29
    • 1970-01-01
    • 2012-09-20
    • 2012-06-10
    • 2017-01-14
    • 1970-01-01
    相关资源
    最近更新 更多