Kategorien
Development

PHP-generierte Dateien Excel-konform ausgeben

Dieser Post sollte ursprünglich zur Laravel-Kurztipp-Serie gehören, hat aber mit viel mehr als nur mit Laravel zu tun.

CSV-Dateien (Comma-Separated Values) lassen sich mit PHP relativ leicht erzeugen. Sie sind quasi Excel-Tabellen, wobei jede Zeile durch eine Textzeile dargestellt wird und die Spalten durch ein Komma (oder ein anderes definiertes Zeichen) separiert werden. Solch eine Datei kann zB. so aussehen:

Name;Vorname;Alter
Mustermann;Max;24
Müller;Marlies;39

Diese Datei kann man mit PHP theoretisch leicht erzeugen und ausgeben. In Realität begegnet man aber zahlreichen Problemen, auf die ich im Nachfolgenden eingehen will:

Kategorien
Development

Laravel: Emails mit 8bit Content-Transfer-Encoding senden

Seit einigen Monaten verwende ich für ein paar PHP-Projekte das PHP-Framework Laravel.

Ich möchte hier nicht all zu viel zu diesem Framwork loswerden, außer dass es mir bisher sehr gefällt, es klar strukturiert und gut dokumentiert ist, und bisher das beste PHP Framework ist mit dem ich gearbeitet habe, auch wenn ich mit CakePHP auch ganz gut klargekommen bin.

Heute hat mich ein Kunde wegen eines Problems kontaktiert. Seine Kunden erhalten etwas kryptische Mails mit ganz vielen =09 usw. Ich habe ein wenig gebraucht bis ich hinter die Lösung gekommen bin. Es ist nicht, wie man im ersten Moment annehmen könnte das übliche UTF-8-Problem sondern hat mit dem Content-Transfer-Encoding und dem MIME-Standard zu tun.