0

我正在创建一个 CSV 并以 UTF-8 编写内容,通过指定如下编码来支持德语和英语

BufferedWriter outFile = new BufferedWriter( new OutputStreamWriter( outputStream, "UTF-8" ) );

以上工作正常,直到我在 CSV 的标题中添加以下分隔符指示 (;)

outFile.write( "sep=;" );
outFile.newLine();    

没有这个分隔符;我的 CSV 将是错误的,但是当我包含这个时,编码失败并且 UTf-8 没有到位。

是否有任何其他关键字(如“sep =”在 CSV 的标头中指定以指定编码?

我试过 encoding="UTF-8" 但它不起作用。

谢谢。

4

1 回答 1

0

您无法使用 Excel 2007 打开 UTF8 csv 文件。Microsft 不理解“标准”一词。正因为如此,生成一个 csv 文件非常困难,该文件在读取 .csv 文件并保持正确编码的每个可能的应用程序中打开。

如果您必须使用 Excel 2007,我建议使用 Microsoft 自己的“windows 1252”编码,因为它支持德语字符。不要使用标题,还要考虑使用制表符作为分隔符。是的,我知道 c 代表逗号,但如果您再次保存文件,选项卡似乎与 Excel 2007 更一致。

于 2017-06-07T23:20:03.377 回答