Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在JTable中显示泰米尔字体以生成HTML文件_Java_Html_Swing_Fonts_Jtable - Fatal编程技术网

Java 如何在JTable中显示泰米尔字体以生成HTML文件

Java 如何在JTable中显示泰米尔字体以生成HTML文件,java,html,swing,fonts,jtable,Java,Html,Swing,Fonts,Jtable,我使用Bamini字体在JTable中显示泰米尔字体。它工作良好,显示泰米尔字体。但当我点击打印按钮时,它会生成HTML格式的输出。但是如果我使用 StringBuffer out = new StringBuffer(); out.append("<html><body>"); out.append(jTable1.getValueAt(0, 0)); out.append("காஷ்மீரில்"); out.append("<

我使用Bamini字体在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);
    }
StringBuffer out=new StringBuffer();
out.追加(“”);
out.append(jTable1.getValueAt(0,0));
out.append(“காஷ்மீரில்");
out.追加(“”);
试一试{
Writer out1=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(“F:/hello.html”),“UTF-8”);
out1.write(out.toString());
out1.close();
}捕获(IOEX异常){
Logger.getLogger(tabletest.class.getName()).log(Level.SEVERE,null,ex);
}
这意味着它只是显示一些不需要的垃圾字符,而不是泰米尔字符。我该怎么做呢?我的HTML文件的输出是


这里காஷ்மீரில் 是从另一个网站复制的。它显示垃圾字符。JTable的内容显示其实际的英文字符,而不是转换的字符。

现代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>");
StringBuffer out=new StringBuffer();
out.附加(“某些标题”);
out.append(jTable1.getValueAt(0,0));
out.append(“காஷ்மீரில்");
out.追加(“”);

现代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>");
StringBuffer out=new StringBuffer();
out.附加(“某些标题”);
out.append(jTable1.getValueAt(0,0));
out.append(“காஷ்மீரில்");
out.追加(“”);

你没有设置页面的字符集。没有DOCTYPE,没有head标记,没有meta标记?@Raptor是的,你是对的。当我将此插入我的HTML文件时,它工作正常。谢谢你的帮助。你没有设置页面的字符集。没有DOCTYPE,没有head标记,没有meta标记?@Raptor是的,你是对的。当我将此插入我的HTML文件时,它是很好。感谢您的帮助。需要转义
utf-8之前/之后的
,或者使用
代替。是的,输入错误。现在已更正。只需过快复制和粘贴
utf-8
之前/之后需要转义,或者改用
。是的,输入错误。现在已更正。只是复制和粘贴速度太快