2014-09-03 24 views
2

我試圖打印僧伽羅字符的NetBeans 7.1 Java應用程序。(在Windows 7) 其他語言,如中國和烏爾都語。等等會顯示正確的字符。但僧伽羅字符顯示不正確。 它將在代碼和輸出中顯示小框。儘管在這裏它顯示爲「සිංහල」。我該如何解決它?無法看到僧伽羅人的Unicode字符在NetBeans

我可以在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()); 

我試着將Sources - > Encoding類型改爲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" 

我怎樣才能解決這個問題。 ?

+0

[此](http://ditoinfo.wordpress.com/2007/02/26/netbeans-and-utf8-encoding-2 /)網站有一種方法,我也試過。但沒有工作。 – prime 2014-09-03 11:42:35

+0

檢查** font **:菜單工具/選項/字體和顏色(在NetBeans 8中)。在項目屬性中檢查是否使用了UTF-8。它可能是有限字體,等寬字體。 – 2014-09-03 11:50:49

+0

爲什麼我檢查工具/選項/字體和顏色..我已經設置了項目屬性 - > UTF-8。 – prime 2014-09-03 16:38:38

回答

4

默認等寬字型 Netbeans中是不夠的Unicode字符。嘗試使用支持僧伽羅語的Unicode字體。 Windows 8自帶Iskoola PotaNirmala UI可以很好地顯示僧伽羅語。我不知道你是否能在Windows 7上發現這兩種字體,但可以作爲一種替代下載GNU FreeFontFreeSerif有僧伽羅人)到Iskoola POTA修女UI

若要在編輯顯示僧伽羅語字符,選擇Netbeans的菜單:工具=>選項==>字體&顏色=>語法片=>分類默認=>字體和將其設置爲Iskoola POTANirmala UIFreeSerif

同樣地,看到在輸出顯示僧伽羅語字符,選擇Netbeans的菜單:工具==>選項==>其它==>輸出選項卡==>字體,並將其設置爲Iskoola POTANirmala UIFreeSerif。您可以右鍵單擊輸出顯示,然後選擇設置...直接轉到那裏。

這是您的代碼和輸出在Windows 8上的Netbeans 8.0.2與FreeSerif字體。

enter image description here

更多關於僧伽羅語字體閱讀:Unicode FontList of typefaces included with Microsoft Windows