2013-03-04 72 views
3

我有一個日文單詞數據庫。另外我有算法,讀取這些單詞,並將它們放入JTextArea。 問題是我看到矩形而不是日本的跡象。 但是當我從JTA複製這樣一組矩形(ctrl + c)並將它們放入例如。 TotalCommander或Winword文件的命令輸入,出現的符號顯示正確。但只有在Win7下。 因爲我在winXP下的虛擬機上運行Eclipse,所以我有複製矩形的能力,也可以在winXP下命令TotalCommander的輸入。在我的Java應用程序中仍有矩形。 這意味着JTA中有關於特定符號的信息,但JTA無法解釋此信息。JTextArea的日語

當然,我已經安裝了適當的字體。

我已經嘗試了很多方式使用字體:

textArea.setFont(new Font(blablabla)); 

相似,但沒有效果。 我該怎麼辦?

+0

重複:http://stackoverflow.com/questions/718776/how-to-display-japanese-characters-in-jtextarea – Constantin 2013-03-04 15:51:28

+0

我不同意。這最多是相似的。除了解決方案不起作用。請注意,我不需要從鍵盤輸入任何文本到JTestArea。我只需要從外部流中顯示它。 – rainbow 2013-03-05 07:18:32

+0

請提供[簡短,獨立,正確(可編譯),示例](http://sscce.org/)。問題可能在於,您的文件編碼與UTF8不匹配。你能以編程方式將你的JTextArea的內容設置爲日文字符嗎?那麼字體本身不成問題。我已經用Windows XP試過了,它在這裏工作得很好。 http://ideone.com/GDfDbb – Constantin 2013-03-05 09:45:39

回答

2

您的JTextArea問題最有可能是您使用的字體不適用於UTF-8 & Japanese。字體不提供從UTF-8值到字符的映射表。即0x41是ASCII,以及UTF-8甚至SHIFT-JIS中的字母'A' - 但是您剛剛鏈接的字體,將0x41解析爲漢字字符。並且整個字體根本不包含平假名和片假名字符 - 請參閱here的網站上的評論部分。

使用ChapMap它具有WSIfonts TAG,不經過!支持所有中國漢字它只有90個字符,並指定每個字符一個字符除帽。

這是一箇中文字體 - 不是日文字體。但它甚至不會提供所有的中文字符,也沒有包含有用的映射表 - 所以它非常沒用。

嘗試使用另一種字體 - 如果它包含真正的日語字符併爲UTF-8提供適用的映射表,則應該可以正常工作。

你可以找到字體,將工作即here

+0

這解決了我的問題。 確實是日語。ttf是一個廢話。 這是一個很好的: http://sourceforge.net/projects/monafont/?source=dlp 非常感謝。 – rainbow 2013-03-05 14:38:45