Umlaute funktionieren nicht trotz UTF-8 Kodierung

Guten Abend, kann mal jemand meinen Codekopf analysieren? Komischerweise funktionieren Umlaute nicht.

http://uniteddesignwork.bplaced.net/filemanager/V1/website/index.html

Danke! :smiley:

Deinen was …?

Nicht komischerweise, sondern selbstverständlicherweise.

Sobald man im Browser die Zeichenkodierung auf ISO-8859-1 umstellt, werden die Umlaute korrekt angezeigt.

Logischer Schluss: Du hast dein Dokument nicht in UTF-8 Kodiert abgespeichert.

Danke dir.

gib statt ü ü statt ä ä statt ö ö und so weiter ein :wink:
ps: ich denke für ß muss man ß eingeben ^^

Die Maskierung von Umlauten war für HTML4 mal eine gute
Methode, sich nicht darauf verlassen zu müssen, daß die richtige
Kodierung gesendet wird.
Bei XML allgemein und auch teilweise bei (X)HTML ist die
Methode entweder nicht definiert oder nicht mehr zuverlässig,
weil sie darauf basiert, daß das Darstellungsprogramm entweder
die DTD interpretieren muß oder sie zumindest identifizieren und
so tun, als täte es sie kennen ;o)
Hatte ich in letzter Zeit öfter schon mal, daß maskierte Umlaute
bei (X)HTML nicht mehr funktionierten, entweder weil man bei
der neuesten Version keinen doctype mehr angeben muß oder
auch weil das Darstellungsprogramm die angegebene DTD nicht
erkannt hat und auch nicht reingeguckt hat.

Heutzutage ist es also besser, sich nicht mehr auf die
Maskierungen zu verlassen, sondern sorgfältig darauf zu achten,
daß vom Editor bis zum server die Kodierung richtig erkannt wird.
Es ist ja an sich auch der Zweck von UTF-8, ISO-8859-1 etc, daß
man die Sonderzeichen nicht mehr maskieren muß, sonst kann
man ja gleich bei ascii bleiben ;o)

Um wirklich die UTF-8-Codierung auf Webseiten zu benutzen definiert man sie am besten an mehreren Stellen.

Im XHTML:

Im Header als Metatag:

Im Stylesheet:

@charset ‘utf-8’;

Und natürlich muss man sichergehen, dass man die Datei auch wirklich als UTF-8 abspeichert. Bei NetBeans kann man UTF-8 als Standardzeichensatz einstellen so, dass es immer verwendet wird. Bei Eclipse gibt es glaube ich unter Edit oder Source den Menüpunkt set encoding.

So kann eigentlich nichts mehr schiefgehen.

Das Attribut gibt es nicht.

Das ist nur sinnvoll, wenn das ganze auch wirklich als XML ausgeliefert wird.

Doch, kann und wird, weil du die wichtigste Stelle vergessen hast: Die Angabe im HTTP-Response-Header „Content-Type”, die oberste Priorität vor allen anderen Angaben hat.

Bitte künftig weniger Halbwissen verbreiten, Danke.

Sofern das Dokument vom server kommt, sollte entweder die
richtige Kodierung oder gar keine per header angegeben werden.
Wenn da was angegeben ist, gilt das eben, unabhängig davon,
was im Dokument steht.

Bei XML wie auch XHTML (application/xhtml+xml) schreibt man
die Angabe in die XML-Verarbeitungsanweisung in der ersten
Zeile, dann sollte das berücksichtigt werden, wenn das Dokument
nicht vom server kommt. Kann auch als Erinnerungstütze dienen,
wie das Dokument mal gespeichert wurde. Gegebenenfalls muß
man den Editor manuell umschalten, weil nicht jeder Editor die
Verarbeitungsanweisung interpretiert.

Die Angabe im meta-Element ist allenfalls in HTML sinnvoll, in
XHTML eher nicht, weil sie dort zu spät kommt - gut, in HTML
eigentlich auch, aber da sind die HTML-Markierungssuppen-parser
so ausgelegt, daß sie gegebenenfalls improvisieren.
Sendet man das XHTML als text/html, ist die Angelegenheit
insofern kompliziert, als dies dann ohnehin nur die
HTML-Markierungssuppen-parser als fehlerhaftes HTML-Dokument
interpretieren, da gibt es an sich kein klar definiertes Verhalten.

Joa,

habs nochmal nachgelesen. Der Zeichensatz wird so angegeben:

Und zwar in der ersten Zeile noch vor dem Doctype.

Das Metatag ist korrekt und kann so bleiben. Wird sogar empfohlen:
w3.org/TR/xhtml1/ - C.9. Character Encoding

Ich hoffe jetzt sind alle befriedigt, äh befriedet. Mein Auge fürs Detail ist nicht das beste.

[quote=“glattwalzwerk”]habs nochmal nachgelesen. Der Zeichensatz wird so angegeben:

Und zwar in der ersten Zeile noch vor dem Doctype.[/quote]
Nein, das ist auch nicht empfehlenswert, weil es den IE in den Quirks Mode schickt.

Bei als text/html ausgeliefertem XHTML ist der XML-Prolog eh für den Eimer, kann ersatzlos entfallen.