Excel不会在使用Super CSV创建的CSV文件中显示变音字符

时间:2013-12-10 11:32:21

标签: java excel utf-8 supercsv

我正在使用超级CSV来创建CSV文件。当我编写像变音字符ïî这样的特殊字符时,当我使用Excel打开它时,它会在生成的CSV中中断。当我使用Notepad ++打开相同的文件时,它完美地显示了变音字符。

任何想法可能是什么原因?我已指定UTF-8编码。有什么东西我不见了吗?

ICsvListWriter writer = new CsvListWriter(
    getWriter(getCUSTOMEREXPORT_FOLDERPATH()+filename),
    CsvPreference.STANDARD_PREFERENCE);

private static OutputStreamWriter getWriter(String fileName) {
  final File file = new File(fileName);
  return new OutputStreamWriter(new FileOutputStream(file),
      Charset.forName("UTF-8"));
}

1 个答案:

答案 0 :(得分:1)

微软和它的Excel对于UTF-8来说太愚蠢了。 Excel严格要求字节顺序标记,以实现这实际上是UTF-8。添加它就可以了。