Tach!
Ich hab ein HTML Formular mit einer Textarea. In der HTML Datei ist Charset auf UTF-8 gestellt:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Das ist nur die Angabe, dass das Dokument UTF-8-kodiert sei. Ist das auch wirklich so? Und liefert der Webserver den HTTP-Header namens Content-Type ohne charset-Angabe oder mit derselben? Denn die hätte Vorrang.
Das Formular ist auf UTF-8 gestellt:
accept-charset="UTF-8"
Braucht man üblicherweise nicht extra anzugeben. Browser nehmen die Dokument-Angabe, ältere ignorieren diese Angabe sogar.
Die Spalte in MySql ist auf UTF-8 gestellt. (genau gesagt utf8_bin)
Die UTF-8-Kettenglieder haben jeweils zwei Teile. Der eine ist die Speicherung oder Verarbeitung in einem System, der andere ist die Weitergabe an das nächste System. Die Kodierung muss innerhalb eines Systems passen und sie muss dem nachfolgenden bekanntgegeben werden, wenn nicht auf irgendwelche Default-Werte vertraut werden soll.
In deinem Fall fehlt vermutlich die Angabe auf der Verbindung zwischen MySQL und dem Client (PHP-Script).
Wo habe ich einen Denkfehler? Was mache ich falsch?
Nimm dies: SELFHTML-Wiki Zeichenkodierung, besonders das Kapitel zu MySQL.
dedlfix.