CSV:如何包含双字节字符

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

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

不幸的是你不要错过任何东西。 如果您只是用Excel打开它们,那么Microsoft就不能正确处理使用unicode的CSV文件。

如果Excel保存CSV文件, 则不使用Unicode编码,而使用与Office语言版本相关的默认其他ISO编码。 不仅这个unicode不是默认的,虽然是21世纪的艺术,但是用excel保存CSV的同时甚至不可能使用unicode。 唯一能保存unicode的文件格式是Unicode Text (*.txt) 。 但是这是一个制表符分隔的文本格式,而不是CSV。

所以,如果Excel打开CSV文件,它将不会假设它的Unicode。 相反,它将采用保存CSV时使用的相同默认编码。 这就是为什么如果在CSV中有unicode就会出现垃圾字符。

有一个例外。 如果CSV是UTF-8编码, 并且在文件开始处有一个UTF-8 BOM , 并且分隔符是默认分隔符, Excel 可以正确打开该CSV。

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