2016-06-07 171 views
2

必须生成包含双字节字符(中文,日文)的CSV文件时,打开CSV文件并在使用文本编辑器时正确读取文本。CSV:如何包含双字节字符

但生成的CSV文件在Excel中打开时会显示垃圾文本,我错过了什么?

回答

1

不幸的是,你不要错过的东西。如果您只是使用Excel打开它们,那么Microsoft无法正确处理带有Unicode的CSV文件。

如果Excel保存CSV文件,它将使用而不是 unicode编码,但会根据Office语言版本的默认其他ISO编码进行编码。不仅这个unicode不是默认的,尽管它是21世纪的艺术品,但是在使用Excel保存CSV的同时甚至不可能使用unicode。唯一可以保存unicode的文件格式是Unicode Text (*.txt)。但这是一个制表符分隔的文本格式而不是CSV。

因此,如果Excel打开CSV文件,它会而不是假定它在unicode。相反,它会采用保存CSV时使用的相同默认编码。这就是为什么如果垃圾字符 unicode在CSV中发生。

有一个例外。如果CSV是UTF-8编码有一个UTF-8 BOM在文件定界符开始时默认的分隔符,然后Excel的可以正确打开这个CSV。

但也有一个Text Import Wizard。如果您正在使用此功能,则可以使用File origin确定步骤1中的编码。 65001 : Unicode (UTF-8)将是UTF-8。该向导应该能够正确导入所有CSV文件。