如何在JTable中显示tamil字体以生成HTML文件

时间:2014-12-23 07:47:06

标签: java html swing fonts jtable

我正在使用Bamini字体在JTable中显示tamil字体。它工作正常并显示泰米尔语字体。但是当我单击“打印”按钮时,它应该生成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 个答案:

答案 0 :(得分:5)

现代HTML文件的基本结构如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Some Title</title>
</head>
<body>
Some contents
</body>
</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>");