我正在从需要在另一个系统上导入的 magento 导出数据。magento 安装在 Unix 上运行,但导入是在 Windows 上进行的。
所以 csv 是在 unix 上创建的,所以换行符只是 hex 0a
,正如 Windows 所期望的那样0d 0a
,我相信。如果它在写字板中打开然后保存,那就没问题了。
- - 编辑 - -
这就是我在 csv 中添加行的方法:
fwrite($handle, '"'.implode('","', $productdata).'"'."\r\n");
将每个字段添加到数组中,在写入时,我只是在右引号和逗号上内爆数组并添加\r\n
到末尾。
从我读过的有限数量来看,Unix/Mac 似乎将 CRLF 解析为0a
Windows 将其解析为0d 0a
. 也许我并没有完全击中头部,无论如何,问题仍然存在。
有什么方法可以强制将换行符解析为 windows 正在寻找的十六进制,或者无论如何我可以手动添加十六进制?