Penyelesaian kepada masalah aksara bercelaru yang dieksport oleh PHP ke mysql csv: 1. Buka fail PHP yang sepadan 2. Hanya tulis logo BOM dalam pengepala fail, dengan kod seperti "fwrite($ fp, chr(0xEF)." chr(0xBB) . chr(0xBF));".
Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer Dell G3.
Bagaimana untuk menyelesaikan masalah mysql csv yang dieksport oleh php?
Csv yang dieksport terdedah kepada aksara bercelaru apabila dibuka di bawah Windows Pengenalan BOM perlu ditulis dalam pengepala fail, yang telah dirangkumkan ke dalam fungsi
/** * @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); }
Bahagian utama ditulis dalam pengepala fail Masukkan logo BOM
fwrite($fp, chr(0xEF) . chr(0xBB) . chr(0xBF));
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah bercelaru apabila php mengeksport mysql csv. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!