2016-03-14 60 views
2

我有一個類寫CSV行到一個新的文件PHP CSV寫腐敗頭零星

fwrite($this->the_file_resource, implode($this->delimiter, $headers_array) . PHP_EOL); 

當這個運行在我們的應用程序,每隔一段時間數據將寫入損壞的CSV文件,我可以之後立即運行相同的命令,並且完全按預期工作。

預計:

enter image description here

損壞:

enter image description here

有一兩件事我注意到的是,它總是在第一對夫婦的列標題,並始終。

什麼是最好的方法來解決這個問題?複製非常困難,因爲它不一致。

+0

什麼在你的$ headers_array? – SamyQc

+0

「報頭」=>數組( 「SEQNBR」, 「區」, 「BUSINESS_UNIT」, 「DEPTID」, 「產品」, 「FISCAL_YEAR」, 「FISCAL_PERIOD」, 「POSTED_TOTAL_AMT」, 「 ACCOUNT「 ) –

+0

嘗試使用utf8_encode – Fky

回答

0

嘗試在生成CSV之前正確設置標題。你的問題看起來像一個編碼問題

header("Content-Type: text/csv"); 
header("Content-Disposition: attachment; filename=file.csv"); 
header("Content-Transfer-Encoding: UTF-8"); 
+1

謝謝,我已經將其添加到我的代碼中,如果再次看到它,我會報告回來。 –

+0

@SamB。沒問題,希望它修復你的bug :)。 – SamyQc