phatman: formular accept-charset="utf-8"

Beitrag lesen

Hallo phatman,

Hallo Rolf,

danke für deine Antwort!

das liegt sicherlich an der Ursache. Ohne genauere Infos ist die schwierig zu finden.

Mit accept-charset hat es eigentlich weniger zu tun, denn eigentlich ist dieser Header obsolet. Man soll seine Inhalte utf-8 codiert liefern. Man kann im content-type Responseheader noch charset=utf-8 hinzufügen. Man kann im HTML head ein <meta charset="utf-8"> ergänzen.

Das ist aber alles nur eine Verpackungsaufschrift. Wenn das Nutellaglas Hundekot enthält, ist der zwar auch braun, aber der nom nom nom Effekt bleibt aus.

Prüfen solltest Du also:

  • enthält dein HTML eine <meta charset> Angabe mit einem Wert ungleich "utf-8"?

Nein, charset utf-8

  • liefert dein Server einen content-type Header mit text/html; charset=utf-8? Oder ein anderes Charset?

Ja, utf-8

  • Ist deine HTML Datei korrekt UTF-8 codiert? Oder hast Du an einigen Stellen nicht aufgepasst und den Windows-Zeichensatz verwendet?

Ja, richtig codiert, hab zwar eine uralte Software (Homesite) hat aber ein gutes Feature "Replace Special Characters"

  • Sind die Zeichen, die richtig dargestellt werden, im Quellcode vielleicht als HTML Entität codiert? (&auml; und co)

Nein

Was ohne Unicode-Quelle gerne passieren kann, ist Codepage-Konfusion. Du erstellst die Datei mit einem Einbyte-Zeichensatz und verwendest dabei die Codepage X (z.B. die Windows-Codepage 1252). Dann sendest Du die Datei aber mit einem falschen Charset, z.B. ISO8859-1, und die Übersetzung liefert Müll. Es kann auch sein, dass man beim Erstellen der Datei nicht aufgepasst hat.

Das herauszubekommen ist Sisyphosarbeit, vor allem, wenn es sich nicht um statisches HTML, sondern um programmatisch erzeugtes HTML handelt (z.B. PHP) und da auch noch Daten aus Datenbanken abgerufen werden.

pure HTML

Ich frage mich nur, warum gibt er "ö ä ü" richtig aus, und "Ö Ä Ü ß" nicht?

Rolf

Trotzdem vielen Dank!

phatman