Tach!
in der .htacces wurde eine Headder-Information an den Browser geschickt mit dem Charset iso-8859-1. Dadurch wurde mein Charset ignoriert.
Erst hab ich das Formular auf "accept-charset="UTF-8" gestellt, dann ging schon mal alles bis zur MySQL Tabelle gut und erst beim auslesen traten wieder Fehler auf.
Mit der falschen HTTP-Header-Angabe ist das kein Problem vom Auslesen (vorausgesetzt, das DBMS-Handling ist soweit in Ordnung, also mit korrekt ausgehandelter Verbindungskodierung). Das könntest du feststellen, wenn du dir die Daten ansiehst, die direkt aus dem DBMS kommen. Deren Bytewerte müssten den entsprechenden UTF-8-Sequenzen der jeweiligen Zeichen entsprechen. Durch das ISO-8859-1 in Richtung Browser interpretiert dieser jedoch das UTF-8 nicht richtig. Also ist das ein Problem beim Anzeigen.
Das accept-charset im Form-Element kann man nehmen, muss man aber letzlich nicht. Zumindest einige ältere Browser ignorieren diese Angabe und wenn man sich darauf verlässt, hat man verloren. Es klappt aber üblicherweise immer, dass die Browser die Kodierungsangabe der Seite für die Kodierung der Formulardaten heranziehen.
(Gleiches auch als ich davor noch "utf8_encode()" ausprobierte.
Wenn du noch solche und ähnliche Konvertierungen (außer der Kontextwechselbehandlung) zu benötigen glaubst, hast du noch Baustellen offen auf dem Weg hin zu vollständiger UTF-8-Verarbeitung.
dedlfix.