Heim > Backend-Entwicklung > PHP-Problem > So lösen Sie das verstümmelte Problem, wenn PHP MySQL-CSV exportiert

So lösen Sie das verstümmelte Problem, wenn PHP MySQL-CSV exportiert

藏色散人
Freigeben: 2023-03-17 14:00:01
Original
1870 Leute haben es durchsucht

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));".

So lösen Sie das verstümmelte Problem, wenn PHP MySQL-CSV exportiert

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);
  }
Nach dem Login kopieren

Der wichtigste Teil besteht darin, das BOM-Logo in den Dateikopf zu schreiben

fwrite($fp, chr(0xEF) . chr(0xBB) . chr(0xBF));
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage