我构建了一个应用程序,它接受CSV作为批量馈送,我注意到当CSV另存为"Windows逗号分隔“与在Mac上的Excel中保存时出现“逗号分隔”。我的脚本只能解析Windows版本,我看不到如何在我的代码中克服这一点。
我发现它们在返回行上是不同的:http://cl.ly/image/3x463O3b0A1s
下面是Mac Excel中的文件类型列表:http://cl.ly/image/2F110Q1X0V0i
我把它分解成这样的几行:
$lines = explode("\n", $content);对于常规的CSV,它不能识别任何行,但对于Windows版本,它可以正常工作(见图!)。我该如何解决这个问题?
发布于 2012-10-23 05:01:06
如前所述,您应该使用fgetcsv() ...然而,我仍然对使用该功能在Mac上生成的CSV有问题。
PHP未正确检测行尾。为了解决这个问题,我必须将ini_set("auto_detect_line_endings", true);添加到处理CSV文件的函数中。
发布于 2012-10-23 04:57:20
如注释中所述,使用原生PHP函数:fgetcsv()、str_getcsv()
https://stackoverflow.com/questions/13019691
复制相似问题