【发布时间】: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