PHP Streaming CSV always adds UTF-8 BOM

前端 未结 2 1572
故里飘歌
故里飘歌 2021-01-22 11:39

The following code gets a \'report line\' as an array and uses fputcsv to tranform it into CSV. Everything is working great except for the fact that regardless of the charset I

相关标签:
2条回答
  • 2021-01-22 12:10

    I don't know if this solves your problem but have you tried using the print and implode functions to do the same thing?

    header("Content-type: text/csv; charset=iso-8859-1");
    header("Cache-Control: no-store, no-cache");
    header("Content-Disposition: attachment; filename=\"report.csv\"");
    
    for($i = 0; $i < $report->rowCount; $i++) {
        print(implode(',',$report->getTaxMatrixLineValues($i)));
    }
    

    That's not tested but pretty obvious.

    0 讨论(0)
  • 2021-01-22 12:15

    My guess would be that your php source code file has a BOM, and you have php's output buffering enabled.

    0 讨论(0)
提交回复
热议问题