Irgendwie wollte es nicht: Konsequent via
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta content="text/html; charset=utf-8" http-equiv="content-type" />
im Header die Seite drauf forciert, mit UTF8 zu senden, Datenbank speichert alle Einträge in UTF8 und trotzdem wollte es nicht klappen, dass das verflixte Euro Zeichen korrekt gespeichert bzw. angezeigt wird. Hierfür verantwortlich zeigt sich die Funktion utf8_decode, die nicht vernünftig mit dem Encoding umgeht und so das Euro-Zeichen verunstaltet.
Dem kann man aber abhilfe schaffen, in dem man statt utf8_decode den Befehl iconv benutzt:
iconv("UTF-8", "CP1252", $data)