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
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.
My guess would be that your php source code file has a BOM, and you have php's output buffering enabled.