Das ist mir eben aufgefallen und ich hab einen Screenshot gemacht davon. Die Umlaute werden nicht richtig dargestellt in dem einen Beitrag, ansonsten passiert das nicht. Woran kann das liegen?
Da wurde der Text von "Melamorphose" falsch kodiert übertragen.
So wie ich das sehe erwartet der Server eine ältere Kodierung gemäß ISO 8859-1 (ASCII + 95 westeuropäische Zeichen). Der Text wurde vom Browser aber fälschlicherweise mit dem neueren UTF-8 übertragen.
Bei ASCII und ISO-8859-1 entspricht ein Byte einem Zeichen. Bei UTF-8 entsprechen zwei Bytes einem Zeichen.
Das Zeichen "A" entspricht im ASCII dem Wert 0x41 (1 Byte). Im UTF-8 dem Wert 0x0041 (2 Byte).
Empfängt nun der Server die falsch kodierten Daten, unterschlägt er zunächst die Null-Bytes (0x00). Aus 0x0041 wird 0x41. Für die universal/international gültigen Zeichen (z.B. A-Z, a-z, 0-9, ...) passiert die Umsetzung daher quasi korrekt.
Bei den anderen Zeichen (z.B. Umlauten) sieht es da aber ganz anders aus: Im ISO-8859-1 entspricht das "ß" dem Byte 0xDF. Im UTF-8 dagegen 0xC39F (also einem Byte mit 0xC3 und einem Byte mit 0x9F). Da hier aber keine Nullbytes zu unterschlagen sind, speichert der Server die zwei Bytes so wie sie sind in die Datenbank ab.
Da der Server aber eben nach ISO-8859-1 arbeitet und nach seiner Einstellung eben einem Byte einem Zeichen entsprechen, werden diese zwei Bytes (0xC39F) als zwei verschiedene Zeichen ausgegeben. Einmal 0xC3, welches dem Zeichen "Ã" entspricht und einmal 0x9F, welches dem Zeichen "Ÿ" entspricht.
So wird dann aus einem "ß", wenn falsch kodiert, ein "ß". Oder eben ein:
Gr
üßle, Michi
Gr
üßle, Michi