Heim > Artikel > Backend-Entwicklung > So lösen Sie das verstümmelte Problem, wenn PHP MySQL-CSV exportiert
Lösung für das verstümmelte Problem des PHP-Exports von MySQL-CSV: 1. Öffnen Sie die entsprechende PHP-Datei. 2. Schreiben Sie einfach das BOM-Logo in den Header der Datei, mit Code wie „fwrite($fp, chr(0xEF)“. chr(0xBB)" .chr(0xBF));".
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, Dell G3-Computer.
Wie kann man das verstümmelte Problem lösen, wenn PHP MySQL CSV exportiert?
Das Exportieren von CSV-Dateien ist beim Öffnen unter Windows anfällig für verstümmelte Zeichen. Sie müssen das BOM-Logo in den Dateikopf schreiben, der in eine Funktion gekapselt wurde
/** * @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); }
Der wichtigste Teil besteht darin, das BOM-Logo in den Dateikopf zu schreiben
fwrite($fp, chr(0xEF) . chr(0xBB) . chr(0xBF));
Empfohlenes Lernen: „PHP-Video-Tutorial》
Das obige ist der detaillierte Inhalt vonSo lösen Sie das verstümmelte Problem, wenn PHP MySQL-CSV exportiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!