Moin!
„Alle Jahre wieder, kommt das Encoding“ – Ich habe im Bugtracker unter #1519 mal den Vorschlag gemacht, die Zeichensatz„problematik“ in die FAQ aufzunehmen.
Die Lösung des Problems kann doch so einfach sein: In dem Zeichensatz, denn mein Formular verwendet, werden die Daten in der Datenbank gespeichert, folglich muss die auslesende Seite im gleichen Zeichensatz kodiert sein.
Und bei einer „handgeschriebenen Dateie“ wird der Zeichensatz angegeben, in dem die Datei tatsächlich kodiert ist und nicht, den ich gerne hätte.
Das heißt jetzt hier konkret:
Ich habe folgendes Problem.
Auf meiner Website werden Umlaute leider als "?" angezeigt.
In meiner Mysql Datenbank sind die Umlaute […] richtig abgelegt.
Was heißt „richtig“?
Wenn ich mir über den Firefox die Response Headers ausgeben lasse bekomme ich korrekt "Content-Type: text/html; charset=utf-8"
Wenn ich die Zeichencodierung im Firefox auf ISO-8859-15 stelle werden mir die Umlaute korrekt angezeigt.
Ein „korrekt“ ist hier zuviel, vermutlich das obere.
Wenn der HTTP-Header richtig übergeben wird müsste der Browser die Zeichen doch korrekt anzeigen, oder?
Der Browser zeigt deine ISO-8859-15-kodierten Sonderzeichen korrekt als UTF-8 an, d.h. er bekommt Zeichen-Codes, die in UTF-8 keine Entsprechung haben, weshalb er auf „?“ ausweicht. Alles Weitere steht oben bzw. in Svens Antwort.
Viele Grüße,
Robert