Moin!
Das wäre wirklich seltsam. Wie ermittelst Du, ob der Browser die "normale westeuropäische Kodierung" verwendet?
Ich spreche von der Einstellung unter "Encoding".
Im IE? Das erklärt vieles!
Die Encoding-Einstellung im IE wirkt nur dann, wenn das HTML-Dokument wirklich keinerlei Encoding-Angabe selbst mitbringt. Wenn der Benutzer das nämlich sonst fest auf "Westeuropäisch (ISO)" (oder "(Windows)") einstellen würde, dann würde er mit Sicherheit bei grob der Hälfte aller besuchten Seiten Umlaut- und/oder Sonderzeichenmurks sehen, weil UTF-8 durchaus schon sehr verbreitet ist und genutzt wird - und auch der Rest der Webseiten sich mitnichten auf ISO-8859-1 oder Windows-1252 als Encoding beschränkt.
Wenn du also "Westeuropäisch" wählst, dann ist das eine Hilfsauswahl, wenn der Server oder das Dokument keine Angaben machen. Und nur dann kann man im IE mit dem Ändern dieser Auswahl auch irgendwas bei der Anzeige der Umlaute ändern. Mit Angabe tut sich beim Umstellen auf beliebige andere Encodings absolut nichts.
Die Quellseite http://www.chineseetymology.org/Etymology.aspx?characterInput=%E5%A6%99&submitButton=Analyze+Character sehe ich im Browser auch mit der Encoding-Einstellung "Westeuropäisch (ISO)" korrekt, also die chin. Schriftzeichen, alles wie es sein sollte.
Das liegt, wie beschrieben, daran, dass UTF-8 als Encoding angegeben ist, die Browserauswahl also wirkungslos bleibt (wohlgemerkt im IE - in meinem Opera beispielsweise MUSS ich "automatic selection" wählen, wählte ich manuell ein anderes Encoding, würde Opera die Seitenbytes sofort mit diesem anderen Encoding interpretieren und darstellen. Ein Feature, was man nur äußerst selten wirklich benötigt, wenn sich Seitenautoren oder (wohl häufiger) Webserver beim Encoding irren).
Wenn deine eigenen Seiten nun keine Encoding-Angaben machen, dann plötzlich wirkt deine Menüauswahl - und "Westeuropäisch" ist natürlich die falsche Wahl für UTF-8-Zeichen. :) Und außerdem wirkt das Umstellen.
Ok, ich glaube, zu verstehen. :-D Auf die Sendung des Servers habe ich aber nur dann Einfluss, wenn ich den Server selbst betreibe, richtig?
Nein, nicht richtig. Erstens gibt es .htaccess, mit dem sich der weitverbreitete Apache-Server durchaus sehr weitgehend konfigurieren läßt.
Und außerdem benutzt du PHP, welches ebenfalls wunderbar (mit dem Befehl header()) in der Lage ist, HTTP-Zusatzangaben an den Browser zu senden. Das würde sich hier sogar noch deutlicher anbieten, da es die Problematik "Encoding-Angabe" unlöschbar und unwegkonfigurierbar an das Skript bindet - die .htaccess-Lösung kann vom Server-Admin nämlich auch abgeschaltet werden.
- Sven Rautenberg
My sssignature, my preciousssss!