Unicode 字符未在 JTextArea 中正确显示
Unicode characters not being properly displayed in JTextArea
我正在编写一个需要显示和允许编辑 Unicode 字符的文本编辑器。我在 Jython 中开发它,因为数据模型在 Python 中并且 GUI 将使用 Java Swing 库。
当我加载这些包含 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 方面不是很有经验,所以也许有些事情对我来说不是很明显我应该做。任何帮助将不胜感激!
open(filename, "r", "utf-8")
因为文件是 UTF-8(多字节序列,ASCII 的超集)
我正在编写一个需要显示和允许编辑 Unicode 字符的文本编辑器。我在 Jython 中开发它,因为数据模型在 Python 中并且 GUI 将使用 Java Swing 库。
当我加载这些包含 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 方面不是很有经验,所以也许有些事情对我来说不是很明显我应该做。任何帮助将不胜感激!
open(filename, "r", "utf-8")
因为文件是 UTF-8(多字节序列,ASCII 的超集)