我有一个非常恼人的编码问题,使用opencsv。 当我导出csv文件时,我将字符类型设置为'UTF-8'。opencsv CSVWriter使用UTF-8似乎不适用于多种语言
CSVWriter writer = new CSVWriter(new OutputStreamWriter("D:/test.csv", "UTF-8"));
但是当我打开与Microsoft Office Excel 2007中的CSV文件,事实证明,它有'UTF-8 BOM'编码?
将文件保存在记事本中并重新打开后,文件将变回UTF-8,并且其中的所有字母都显示正常。 我想我已经足够搜索了,但我还没有找到任何解决方案来阻止我的文件变成'UTF-8 BOM'。有什么想法吗?
Java本身不应该添加BOM,因为没有'OutputStreamWriter'构造函数需要两个字符串我想你的代码中缺少一些东西。 BOM是否可以成为你写的数据的一部分? – 2012-04-13 08:44:32