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

标签 java excel utf-8 supercsv

我正在使用 Super CSV 创建 CSV 文件。当我编写特殊字符(如元音变音字符 ïî)时,当我使用 Excel 打开生成的 CSV 时,它会在生成的 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"));
}

最佳答案

微软及其 Excel 对于 UTF-8 来说太愚蠢了。 Excel 严格要求字节顺序标记才能意识到这实际上是 UTF-8。添加它就可以了。

关于java - Excel 不显示使用 Super CSV 创建的 CSV 文件中的变音字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20493358/

相关文章:

excel - 使用 UNIQUE 返回不同列的值

java - 如何将 'dd/mm/yyyy hh:mm:ss am/pm' 转换为 hh :mm:ss (without am or pm) in java?

java - android studio resourcebundle 缺少资源异常

java - 在哪里可以下载 JPA 2 API Javadocs 的 chm 版本?

vba - 复制值而不是公式excel vba

c# - 在 C# 中安全地处理 Excel 互操作对象?

java - Apache POI PPT (Java) - 更新 TextShape 保持文本格式/形状格式

mysql - 在 my.cnf 配置文件中使 MySQL 使用 utf-8

xml - xsd 模式可以验证编码吗? UTF-8,可能吗?

c# - 在 XML 中写出元音变音字符?