csv文件 comma separator value(逗号分隔值)。常用来数据转换的中间文件存在,比如:从mysql中导出数据到csv,导入csv到sqlserver中。csv文件comma separator value(逗号分隔值)。常用来数据转换的中间文件存在,比如:从mysql中导出数据到csv,导入csv到sqlserver中。
linux环境下php从mysql数据库中将表的数据按照条件导出成csv,使用utf-8编码导出csv文件,打开后中文成了乱码 (windows下csv文件默认与microsoft excel关联),用notepad++或者word打开正常,不过排版很乱。原因在于:bom。
什么是bom?byte order mark(比特序标记)。
为了识别 unicode 文件,microsoft 建议所有的 unicode 文件应该以 zero width nobreak space字符开头。这作为一个”特征符”或”字节顺序标记(byte-order mark,bom)”来识别文件中使用的编码和字节顺序(big-endian或little-endian),具体的对应关系见下表。 类unix系统中并没有使用 bom,因为它会破坏现有的 ascii 文件的语法约定。
代码:
注:在写csv文件时确保php源码是utf-8,并且无bom,并且没有输出任何内容。网页(*.html)有bom,在ie6.x下打开会出现一神奇的空行,firefox中没有这种怪现象。