【发布时间】: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 文件,一切都会好起来的。