必须生成包含双字节字符(中文,日文)的CSV文件,CSV文件打开,使用文本编辑器时文本才能正确读取。
但生成的CSV文件在Excel中打开时会显示乱码文本,我错过了什么?
答案 0 :(得分:2)
不幸的是你不会错过任何东西。如果您只是用Excel打开它们,那么它无法正确处理具有unicode的CSV文件。
如果Excel保存CSV文件,则它使用非 unicode编码,但默认使用其他ISO编码,这取决于Office语言版本。不仅unicode不是默认的,虽然是21世纪的艺术品,但在用Excel保存CSV时甚至不可能使用unicode。唯一可以保存unicode的文件格式是Unicode Text (*.txt)
。但这是制表符分隔的文本格式而不是CSV。
因此,如果Excel正在打开CSV文件,它将不假定其中包含unicode。相反,它将采用与保存CSV时相同的默认编码。这就是为什么如果CSV中的是 unicode,就会出现乱码。
有一个例外。如果CSV是UTF-8编码的和,则文件的开头有一个UTF-8 BOM,分隔符是默认分隔符,然后 Excel 可以正确打开此CSV。
但也有Text Import Wizard。如果您使用此功能,则可以使用File origin
确定步骤1中的编码。 65001 : Unicode (UTF-8)
将是UTF-8。该向导应该能够正确导入所有CSV文件。