【发布时间】:2010-09-28 22:51:32
【问题描述】:
所以,我的代码使用 PHP 的内置 fputcsv 函数生成了一个 CSV 文件。
对于分隔符,我使用','(逗号)。
对于附件,我使用'"'(双引号)。
但是,当我尝试像
fputcsv($file,array('a','b',"long string, with commas",NULL,''),',','"');
输出
a,b,"long string, with commas",,
但我希望它输出
"a","b","long string, with commas","",""
有没有简单的方法来处理这个问题,或者我必须为fputcsv写一个替换?
【问题讨论】:
-
输出是有效的 CSV。你的另一个工具坏了。
-
为什么要在每个字段上加上引号?
-
@Ignacio, Andrew:显然,隐藏在电子表格软件导入对话框的一个小角落里的是一个压缩多个空字段 (
a,,,=>a,) 和/或删除它们的选项(a,,,=>a)。显然有些用户已经检查了这一点,但并不知道,所以简单、一刀切的解决方案是强制每个空字段为空字符串 (a,"","","")。