【问题标题】:Excel does not display umlaut characters in CSV file created with Super CSVExcel 在使用 Super CSV 创建的 CSV 文件中不显示变音符号
【发布时间】:2013-12-27 21:42:14
【问题描述】:

我正在使用 Super 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"));
}

【问题讨论】:

  • 答案并没有真正的帮助。
  • 你能确认 Notepad++ 说文件是 UTF-8 编码的吗?另外,我不确定您使用的是哪个版本的 Excel,但在 2010 年,您可以尝试使用 Data->From Text 导入 CSV - 它可以让您选择编码并显示预览。
  • 有趣的是,正如@Michael-O 所建议的那样,我尝试在 np++ 中使用 UTF-8(没有 BOM)对文件进行编码,并在 excel 中打开该文件 - 它将字符显示为 ï 和 î。但是,当我改为导入它时,它实际上起作用了。
  • @HoundDog,在 NP++ 中说这是一个 UTF-8 文件,一切都会好起来的。

标签: java excel utf-8 supercsv


【解决方案1】:

Microsoft 及其 Excel 对于 UTF-8 来说太愚蠢了。 Excel 严格要求字节顺序标记来实现这实际上是 UTF-8。添加它,它会工作。

【讨论】:

    猜你喜欢
    • 2010-09-14
    • 2018-07-26
    • 1970-01-01
    • 2019-08-03
    • 2013-01-11
    • 2011-05-03
    • 1970-01-01
    • 1970-01-01
    • 2013-01-24
    相关资源
    最近更新 更多