我正在努力在JEditorPane中顯示阿拉伯語rtf。它顯示錯誤的字符可能是因爲它是錯誤的編碼,我不知道如何解決它。如何使* .rtf文件在JContentPane上以UTF-8編碼顯示?
我可以得到一些幫助嗎?這是代碼的相關部分。
textPane.setEditorKit(new AdvancedRTFEditorKit());
textPane.setBackground(Color.white);
try {
BufferedReader fi = new BufferedReader(
new InputStreamReader(
new FileInputStream("C:/test - Copy.rtf"), "UTF-8"));
rtf.read(fi, textPane.getDocument(), 0);
System.out.println(textPane.getDocument());
System.out.println(rtf.toString());
}
catch(FileNotFoundException e)
{
System.out.println("File not found");
}
catch(IOException e)
{
System.out.println("I/O error");
}
catch(BadLocationException e)
{
在此先感謝您。
你在哪裏定義變量'rtf'? – 2013-03-20 17:36:57
首先用'setContentType(「text/plain」)'(沒有EditorKit)顯示它。現在你可以看看,文件的編碼是UTF-8以及所選字體是否處理阿拉伯文。 – 2013-03-20 17:41:20
rtf被聲明爲「public static AdvancedRTFEditorKit rtf = new AdvancedRTFEditorKit();」 它實際上是用UTF-8編碼的。這似乎不是問題。 – user2191986 2013-03-20 22:49:17