php匯出mysql csv亂碼問題的解決方法:1、開啟對應的php檔案;2、在檔案頭寫入BOM標識即可,程式碼如「fwrite($fp, chr(0xEF) . chr(0xBB) . chr(0xBF));」。
本教學操作環境:Windows7系統、PHP8.1版、Dell G3電腦。
php匯出mysql csv亂碼問題怎麼解決?
匯出csv在windows下開啟容易出現亂碼,需要在檔案頭寫入BOM標識,已經封裝成函數了
/** * @param array $rows * @param array $fields * @param string $filename */ function kg_export_csv($rows, $fields = [], $filename = '') { $filename = $filename ?: kg_uniqid(); header("Content-Type: text/csv"); header("Content-Disposition:filename={$filename}.csv"); $fp = fopen('php://output', 'w'); fwrite($fp, chr(0xEF) . chr(0xBB) . chr(0xBF)); if ($fields) fputcsv($fp, $fields); $index = 0; foreach ($rows as $row) { if ($index == 1000) { $index = 0; ob_flush(); flush(); } $index++; fputcsv($fp, $row); }
關鍵部分,檔案頭寫入BOM標識
fwrite($fp, chr(0xEF) . chr(0xBB) . chr(0xBF));
推薦學習:《PHP影片教學》
以上是php匯出mysql csv亂碼問題怎麼解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!