PHP - 17. Juli 2010

Umlaute in CSV-Export per PHP / Zeichensatzkonvertierung Encoding


Grund hierfür ist der falsche Zeichensatz. Je nach Konfiguration des Servers werden die Daten zumeist im ISO-8859-1 oder UTF-8 geschrieben bzw. übertragen.

Excel erwartet jedoch standardmässig den Windows-1252 Zeichensatz. Folgende kleine Funktion hilft bei der Konvertierung der Zeichen vor der Verwendung von z.B. fputcsv :

<? function convertToWindowsCharset($string) {   $charset =  mb_detect_encoding(     $string,     "UTF-8, ISO-8859-1, ISO-8859-15",     true   );   $string =  mb_convert_encoding($string, "Windows-1252", $charset);   return $string; } ?>
Artikel teilen
Über den Autor

Pierre Geyer. Apple Fan Boy und leidenschaftlicher Softwareentwickler. Als Inhaber kommt er zwar nicht mehr so oft zum Programmieren, aber er liebt es dennoch sich alle neuen Webtechnologien anzusehen. Sein tiefes Verständnis von IT und Digitalisierung nutzt er, um Kunden zu beraten und individuelle Lösungen zu erarbeiten.