【问题标题】:Problems with special characters in Microsoft ExcelMicrosoft Excel 中的特殊字符问题
【发布时间】:2012-01-07 23:27:53
【问题描述】:

在一个 Java portlet 中,我提供文件以通过 serveResource(...) 方法下载。

我在打电话

response.getPortletOutputStream().write(byteArray);

这个byte 数组包含一些德语中的特殊字符,例如ÄÜö。生成文件的文件格式为 csv。

当我在文本编辑器中打开文件时,特殊字符会正确显示。

但是,当我在 Microsoft Excel 中打开它们时,它们显示为 üß

您对导致此问题的原因有任何想法吗?

Notepad++ 将文件显示为

ANSI 为 UTF-8

【问题讨论】:

  • 您是否在 CSV 的开头写入 UTF-8 BOM(字节顺序标记)?如果不是,Excel 可能只是不知道它是一个 UTF-8 文件。如果缺少 BOM,其他编辑者可能会扫描文本并尝试从内容中确定编码。

标签: java excel csv io special-characters


【解决方案1】:

这可能会对您有所帮助:Microsoft Excel mangles Diacritics in .csv files?

基本上,您需要在 CSV 文件中添加字节顺序标记 (BOM)。

【讨论】:

猜你喜欢
  • 2011-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多