我使用存储在PostgreSQL中的数据生成HTML文件:
生成的HTML文件是UTF-8编码,但字符串看起来像它们在数据库中出现的样子。
我该怎么做才能使文本正确显示?例如:Últiles de Escritorio
注意:我无法更改PostgreSQL配置,我正在使用Java 1.6、PostgreSQL 8.4和JDBC。
更新:
我使用以下代码创建HTML文件:
public static void stringToFile (String file_name, String file_content) throws IOException {
OutputStream out = new FileOutputStream(file_name);
OutputStreamWriter writer = new OutputStreamWriter(out, "UTF-8");
try {
try {
writer.write(file_content);
} finally {
writer.close();
}
} finally {
out.close();
}
}
我使用它的方式如下:
StringBuilder html_content = new StringBuilder();
ResultSet result_set = statement.executeQuery(sql_query);
while (result_set.next()) {
html_content.append(String.format('<li>%s</li>', result_set.getString(1)));
}
Utils.stringToFile('thehtmlfile.html', html_content.toString());
更新:[已解决] 对我来说,以下方法有效:
new String(str.getBytes("ISO-8859-1"), "UTF-8")