2014-12-23 32 views
1

我使用Bamini字體在JTable中顯示泰米爾字體。它工作正常,並顯示泰米爾語字體。但是當我點擊打印按鈕時,它應該生成HTML格式化輸出。但如果我正在使用,如何在JTable中顯示泰米爾字體以生成HTML文件

StringBuffer out = new StringBuffer(); 
    out.append("<html><body>"); 
    out.append(jTable1.getValueAt(0, 0)); 
    out.append("காஷ்மீரில்"); 
    out.append("</body></html>"); 

    try { 
     Writer out1 = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("F:/hello.html"), "UTF-8")); 
     out1.write(out.toString()); 
     out1.close(); 

    } catch (IOException ex) { 
     Logger.getLogger(tabletest.class.getName()).log(Level.SEVERE, null, ex); 
    } 

表示它只是顯示一些不需要的垃圾字符而不是泰米爾字符。我怎樣才能做到這一點?我的HTML文件的輸出,

enter image description here

這裏காஷ்மீரில்是從其他網站複製。它顯示我垃圾字符。 JTable的內容顯示其實際英文字符未轉換的字符。

+1

您沒有設置頁面的字符集:

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Some Title</title> </head> <body> Some contents </body> </html> 

因此,您的代碼應糾正。沒有DOCTYPE,沒有標籤,沒有元標籤? – Raptor

+0

@Raptor是的,你是對的。當我將插入到我的HTML文件中時,它工作正常。謝謝你的幫助。 – Billu

回答

5

現代化的HTML文件的基本結構如下:

StringBuffer out = new StringBuffer(); 
out.append("<!DOCTYPE html><html><head><meta charset=\"utf-8\" /><title>Some Title</title></head><body>"); 
out.append(jTable1.getValueAt(0, 0)); 
out.append("காஷ்மீரில்"); 
out.append("</body></html>"); 
+1

''''utf-8'之前/之後''''需要被轉義,*或*使用'''代替 –

+0

是的,錯字現在已經更正了,只需複製和粘貼太快 – Raptor

相關問題