echo $begrüßung;
Um nicht jedes Bild einzeln hochladen zumüssen mach ich das über eine Zip-Datei.
Um die Datei in der DB zu speichern muss ich allerdings den (utf8?) String in einen hex-Wert umwandeln. (Datentyp BLOB in DB)
Nein, auf gar keinen Fall. Die Bilddaten sind Binärdaten, und kein Text, dessen Zeichen durch ein oder mehrere Bytes kodiert sind. Du musst die Bytes so nehmen, wie sie kommen und keinerlei Umwandlung beim Lesen vornehmen.
Beim Einfügen in eine Datenbank sind allerdings einige Regeln zu beachten, die je nach DBMS unterschiedlich sind. Einige Systeme (z.B. Oracle) haben ein spezielles Handling für BLOBs. Andere Systeme übergeben die Daten als Zeichenkette (z.B. MySQL), wobei bestimmte Zeichen besondes zu notieren sind, damit sie nicht als Sonderzeichen interpretiert werden. Du solltest dich in der Dokumentation deines Systems erkunden, welche Zeichen das sind und in der PHP-Extension für dein DBMS nachsehen, welche Funktion dir diese Arbeit abnimmt (z.B. MySQL: Funktion mysql_real_escape_string()).
echo "$verabschiedung $name";