echo $begrüßung;
Ich bekomme aus einem formular, welches das Attribut accept-charset="UTF-8" hat, Daten in ein Array. Diese Daten serialisiere ich über php, codiere sie mit base64 und speichere sie in eine Datenbank(mysql, Charset eingestellt, sowohl bei der Datenbank als auch bei der Verbindung(set names 'UTF8').
Etwas base64-kodiertes besteht nur noch aus lateinischen Groß- und Kleinbuchstaben sowie Zifern und +, / und =. Wenn du nicht gerade mit exotischen Kodierungen hantierst, hat das DBMS und die Übergabe nach und von dort keinen Einfluss auf den Inhalt.
Später lese ich diese Daten wieder aus, decodiere sie, deserialisiere sie und Lasse sie ausgeben(Charset per HTML auch auf UTF-8). Wenn allerdings Sonderzeichen aus dem Formular gespeichert werden, werden diese nicht korrekt dargestellt. Im fall des 'ß' steht im Quellcode z.B. Ã�
Kommen sie bereits aus dem Formular falsch an oder werden sie erst bei einer Ausgabe-Behandlung verändert? Untersuch das bitte mit Kontrollausgaben (var_dump()). Ebenso ist es zur Fehlersuche hilfreich die einzelnen Veränderungen in den Verarbeitungsschritten (vor der base64-Kodierung und nach der base64-Dekodierung) mit Kontrollausgaben zu verfolgen.
echo "$verabschiedung $name";