File file = new File("file.txt");
BufferedWriter output=new BufferedWriter(new Filewriter(file));
output.write("data fetched from database");
我从数据库中获取数据,该数据映射到相应的DTO对象,并使用DTO对象的getter将其写入文件。
它对于普通数据工作正常,但对于以下数据失败:
DB中的单词是:KÄRNTEN。
当我在Windows中用记事本打开文件时,它是正确的。
当我在vi或vim编辑器中打开时,在KÄ之后,它将转到一个新行并写下剩余的行。
当我在Windows中的wordpad或csv文件中打开时,它显示为:KÓRNTEN。
答案 0 :(得分:0)
效果看起来像是以UTF-8格式获取数据,但将其读作ISO-8859。
尝试
Writer out = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream("file.txt"), "ISO-8859-1"));
try {
out.write("data fetched from database:" + yourFetchedData);
} finally {
out.close();
}