pri*_*ime 3 java unicode netbeans utf-8
我试图在NetBeans 7.1 Java 应用程序中打印僧伽罗语字符。(在 Windows 7 中)其他语言,如中文和乌尔都语 .. 等将显示正确的字符。但是僧伽罗字符显示不正确。它将在代码和输出中显示为小框。虽然在这里它显示为“?????” . 我该如何解决?
我可以在 eclipse 环境中毫无问题地做到这一点。
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());
Run Code Online (Sandbox Code Playgroud)
我尝试将 Sources -> Encoding type 更改为 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"
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题。?
Netbeans 中的默认等宽字体对于 unicode 字符是不够的。尝试使用支持僧伽罗语的 unicode 字体。Windows 8 带有Iskoola Pota和Nirmala UI,可以很好地显示僧伽罗语。不知道Windows 7上能不能找到这两种字体,不过大家可以下载GNU FreeFont(只有 FreeSerif有Sinhala)作为Iskoola Pota或Nirmala UI的替代品。
要在编辑器显示中查看僧伽罗字符,请选择 Netbeans 菜单:工具 => 选项 ==> 字体和颜色 => 语法选项卡 => 类别默认值 => 字体并将其设置为Iskoola Pota或Nirmala UI或FreeSerif。
同样,要在输出显示中查看僧伽罗字符,请选择 Netbeans 菜单:工具 ==> 选项 ==> 杂项 ==> 输出选项卡 ==> 字体并将其设置为Iskoola Pota或Nirmala UI或FreeSerif。您可以右键单击输出显示并选择设置...直接转到那里。
这是您在 Windows 8 上的 Netbeans 8.0.2 中使用FreeSerif字体的代码和输出。
更多关于僧伽罗字体的阅读:Unicode 字体和Microsoft Windows 中包含的字体列表
归档时间: |
|
查看次数: |
2074 次 |
最近记录: |