在NetBeans中看不到Sinhala Unicode字符

时间:2014-09-03 11:40:38

标签: java netbeans unicode utf-8

我尝试在 NetBeans 7.1 Java应用程序中打印Sinhala字符。(在Windows 7中) 其他语言如中文和乌尔都语等将显示正确的字符。但是僧伽罗字符没有正确显示。 它会在代码和输出中显示为小框。虽然在这里它显示为“සිංහල”。我该如何解决?

我可以在日食环境中毫无问题地执行此操作。

    String a = "世界你好";
    System.out.println(a);
    System.out.println("कई");

    // sinhala
    char c = '\u0D85';
    System.out.println(c);
    System.out.println("\u0D85");
    System.out.println("සිංහල");

    System.out.println(java.nio.charset.Charset.defaultCharset().name());

我尝试更改来源 - >编码类型为UTF-8。 现在我的netbeans.conf文件更改了 netbeans_default_options 并添加了 -J-Dfile.encoding = UTF-8 ,如下所示

netbeans_default_options="-J-Dfile.encoding=UTF-8 -J-Dorg.netbeans.modules.tomcat.autoregister.token=1378930362898 -J-Dorg.netbeans.modules.tomcat.autoregister.catalinaHome=\"C:\Program Files\Apache Software Foundation\Apache Tomcat 6.0.20\" -J-Dorg.glassfish.v3ee6.installRoot=\"C:\Program Files\sges-v3\" -J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.zip.disableMemoryMapping=true"

我该如何解决这个问题。 ?

2 个答案:

答案 0 :(得分:4)

Netbeans中的默认等宽字体对于unicode字符是不够的。尝试使用支持Sinhala的unicode字体。 Windows 8附带 Iskoola Pota Nirmala UI,可以很好地显示Sinhala。我不知道您是否可以在Windows 7上找到这两种字体,但您可以下载GNU FreeFont FreeSerif 有Sinhala)作为替代方案 Iskoola Pota Nirmala UI

要在编辑器显示中查看僧伽罗字符,请选择Netbeans菜单:工具=>选项==>字体&颜色=>语法Tab =>类别默认=>字体并将其设置为 Iskoola Pota Nirmala UI FreeSerif

同样,要在输出显示中查看僧伽罗字符,请选择Netbeans菜单:工具==>选项==>杂项==>输出标签==>字体并将其设置为 Iskoola Pota Nirmala UI FreeSerif 。您可以右键单击输出显示,然后选择设置... 直接转到那里。

这是您在Windows 8上使用 FreeSerif 字体的Netbeans 8.0.2中的代码和输出。

enter image description here

更多关于僧伽罗字体的阅读:Unicode FontList of typefaces included with Microsoft Windows

答案 1 :(得分:0)

对于将每个文本框或edittext设置为iscolapota的字体。