php 写入csv时 双引号,逗号及特殊字符

1.双引号 

<?php
function new_csv($string)
{
    $filename = date('Ymd').'.csv'; //设置文件名
    header("Content-type:text/csv");
    header("Content-Disposition:attachment;filename=".$filename);
    header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
    header('Expires:0');
    header('Pragma:public');
    echo $string;
}

$str = 'a,b,c,d,"e"'."\n".'a,b,c,d,e'."\n";
new_csv($str);
View Code

下载内容为

我们发现csv自动忽略了双引号 。那么我想要展示怎么办呢?

<?php
function new_csv($string)
{
    $filename = date('Ymd').'.csv'; //设置文件名
    header("Content-type:text/csv");
    header("Content-Disposition:attachment;filename=".$filename);
    header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
    header('Expires:0');
    header('Pragma:public');
    echo $string;
}

$str = 'a,b,c,d,"""e"""'."\n".'a,b,c,d,e'."\n";
new_csv($str);
View Code

在将每个" 替换为3个就行 

2.逗号及其他字符 

如果遇到逗号会自动分割,此时我们只需要将该数据直接用双引号包起来就行了 ,因为csv是会忽略双印号的 

注:虽然csv自动忽略双引号,但是如果你用notepad打开该csv文件,还是会看到 

猜你喜欢

转载自www.cnblogs.com/paopao123/p/10725682.html