Heim >Backend-Entwicklung >PHP-Problem >Was tun, wenn PHP-Exporte Excel mit verstümmelten Zeichen enthalten?
Lösung für verstümmeltes Excel, das von PHP exportiert wurde: 1. Transkodieren Sie [$filename] und führen Sie die Anweisung [iconv('utf-8", "gb2312", $filename)] aus; 2. Definieren Sie den Excel-Zeichensatz und die Webseitenkodierung Konsistent mit [charset=UTF-8].
Lösung für den verstümmelten Excel-Export durch PHP:
1. Lösung des verstümmelten Excel-Dateinamens, der von PHP exportiert wurde:
Ursache des verstümmelten Codes: verwendet vom Kunden Die chinesische Version der Windows-Systemplattform und die Dateinamenkodierung der Windows-Plattform sind gb2312 (gbk), und unsere Webseitenkodierung verwendet im Allgemeinen die utf-8-Kodierung (Internationalisierung), um dem bestehenden Trend zu folgen Wenn wir dieses Mal Folgendes tun: header("Content-Disposition: inline; filename=/"" . $filename . ".xls/""), werden verstümmelte Zeichen angezeigt. Wenn Ihre Webseitenkodierung gb2312 ist, besteht keine Notwendigkeit um das Kodierungsproblem zu berücksichtigen.
Lösung: Um den Dateinamen zu transkodieren, führen Sie Folgendes aus: iconv('utf-8", "gb2312", $filename). Wenn Ihre Umgebung die Funktion iconv nicht unterstützt, können Sie eine andere Funktion verwenden, sofern die Codierung von $filename in gbk konvertiert werden kann.
Aber dieses Problem wird erneut auftreten und Linux-Benutzer werden verstümmelte Dateinamen haben (da die Dateinamen der Linux-Plattform nicht gbk-codiert sind).
Angesichts dieses Problems habe ich zwei Methoden gewählt: Erstens: Geben Sie einige Kunden auf, schließlich machen Windows-Systembenutzer die Mehrheit aus. Zweitens: Wie bei Google Mail werden zwei Download-Adressen bereitgestellt. Ein Dateiname ist GBK-codiert und ein Dateiname ist UTF-8-codiert.
2. Lösen Sie das Problem von verstümmeltem Excel beim Exportieren von Daten aus Excel über PHP:
Der Grund, warum PHP Excel verstümmelt: Die Webseitenkodierung stimmt nicht mit der Excel-Kodierung überein.
Lösung: Da die Codierung inkonsistent ist, ist es in Ordnung, sie konsistent zu machen. Definieren Sie den Zeichensatz von Excel: header("Content-Type: application/vnd.ms-excel; charset=UTF-8"). Stellen Sie sicher, dass er mit der Codierung Ihrer Webseite übereinstimmt, um das Excel-Problem zu lösen. Die internen Daten sind verstümmelt. Das ist relativ einfach!
Empfehlungen für entsprechende Videos: PHP-Programmierung vom Einstieg bis zum Master
Das obige ist der detaillierte Inhalt vonWas tun, wenn PHP-Exporte Excel mit verstümmelten Zeichen enthalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!