1
我正在編寫一個需要顯示並允許Unicode字符版本的文本編輯器。我正在用Jython開發它,因爲數據模型是用Python編寫的,GUI將使用Java Swing庫。Unicode字符在JTextArea中未正確顯示
當我加載包含Unicode字符,如果我在終端打印出來,我得到正確的結果,這些文件中的一個:
šatti[year]N; n; Ṭebetu[1]MN; mūša[at night]AV; ūm[day]N; n
但是,當我在JTextArea中打印出來,我得到這個:
šatti[year]N; n; Ṭebetu[1]MN; mūša[at night]AV; ūm[day]N; n
這是一個代碼段與文件讀取和顯示在Jython的交易:
textArea = JTextArea()
textArea.font = Font("Monaco", Font.PLAIN, 14)
file = open(filename, "r")
text = file.read()
textArea.setText(text) #gives wrong result in JTextArea
print text #gives correct result in terminal
我試過改變JTextArea中的字體,使它和終端一樣,以防出現問題,但它沒有幫助。模板庫會對此有所幫助嗎?
我在使用Unicode方面並不是很有經驗,所以也許有些事情對我來說並不明顯,我應該這樣做。任何幫助將不勝感激!
非常感謝!現在修復:) 我也發現我可以用編解碼器庫,如下所示: codecs.open(filename,encoding ='utf-8')。read() – zapatilla