Umlaute - ä / ü / ö

Hallo zusammen

Eine Bitte an die Windowsbenutzer:

Sucht eine beliebige Adresse auf diesem Adressportal
http://tel.search.ch/

und öffnet sie als VCF Datei.
Werden die Umlaute (ä ü ö sowie allfällige Sonderzeichen franz / skandinavische oder spanische) korrekt dargestellt?

Hintergrund:
Wir haben einen englischen Vista-Client eines Kunden, der diese Umlaute konsequent mit dem falschen Zeichensatz darstellt.

Aus meiner Überlegung heraus, sollte es nur eine Frage der Zeichensatzeinstellungen beim Browser sein. Einverstanden?

Ist bei Euch im IE 6 oder IE 7 auch „Western European ISO“ Standard?
Grüsse
C4e
¨
Grüsse
Peter

Hallo,

Hintergrund:
Wir haben einen englischen Vista-Client eines Kunden, der
diese Umlaute konsequent mit dem falschen Zeichensatz
darstellt.

Aus meiner Überlegung heraus, sollte es nur eine Frage der
Zeichensatzeinstellungen beim Browser sein. Einverstanden?

Ist bei Euch im IE 6 oder IE 7 auch „Western European ISO“
Standard?

Ja, bei diesen wird es korrekt dargestellt, bei z.B. Unicode (UTF8) nicht.
Bei richtig gutem HTML sollten aber auch die Umlaute kodiert werden, so dass sie auch dann „richtig“ dargestellt werden können.

Beatrix

Hallo,

Ist bei Euch im IE 6 oder IE 7 auch „Western European ISO“
Standard?

Ja, bei diesen wird es korrekt dargestellt, bei z.B. Unicode
(UTF8) nicht.
Bei richtig gutem HTML sollten aber auch die Umlaute kodiert
werden, so dass sie auch dann „richtig“ dargestellt werden
können.

Falsch. Bei richtig gutem HTML wird der Charset im HTTP-Header mit angegeben, und Umlaute nicht als ä und ähnliches kodiert.
Hintergrund ist, dass bei xhtml die Semantik der Entities nicht in der DTD angegeben ist.
Es spricht nichts dafür, die Umlaute zu kodieren, wenn sie im richtigen Charset sind.

Grüße,
Moritz

Hallo Beatrix

Heisst das, dass Du den Fehler reproduzieren kannst?
In einem ersten Versuch gelang mit das nicht.

Welchen Browser / Zeichnsatz verwendest Du per default?

Grüsse
C4e

Ja, bei diesen wird es korrekt dargestellt, bei z.B. Unicode
(UTF8) nicht.
Bei richtig gutem HTML sollten aber auch die Umlaute kodiert
werden, so dass sie auch dann „richtig“ dargestellt werden
können.

Beatrix

Hallo Moritz

Danke für die sehr interessante Ausführung.

Kannst mir ein wenig umfassender und „for stupids“ aufzeigen, wie der Zusammenhang dieser Aspekte ist:

  • gewähltem Zeichensatz im Browser
  • Charset im HTTP - Header
  • Umlauten ist

Anders gesagt, wie programmiere ich eine HTML / XHTML Site, dass der gewählte Zeichensatz im Browser die Umlaute nicht falsch darstellt?

Wie kann der Benutzer damit umgehen? Soll er jedesmal alle Zeichensätze ausprobieren? :-/

Nochmals vielen Dank für die profunde Antwort.

Grüsse
C4e

@MOD: verschiebung in ein anderes Brett wie HTML oder Homepage willige ich im voraus ein :sunglasses:

Hallo,

Danke für die sehr interessante Ausführung.

Kannst mir ein wenig umfassender und „for stupids“ aufzeigen,
wie der Zusammenhang dieser Aspekte ist:

  • gewähltem Zeichensatz im Browser

Moderne Browser lassen einen einen „Default-Charset“ wählen, der verwendet wird, wenn die Webseite (fälschlicherweise) keinen angibt.

  • Charset im HTTP - Header

Im HTTP-Header, der üblicherweise so aussieht:

Content-Type: text/html; charset=utf-8
# oder
Content-Type: application/xhtml+xml; charset=iso-8859-1

(wobei der IE5 und IE6 letzteres nicht anzeigt, sondern abspeichern will, wird also kaum verwendet), gibt an, ich welchem Charset das HTML-Dokument kodiert ist.

Wenn man keinen Zugang zu den HTTP-Headern hat, kann man mit

den Content-Type auch im HTML-Dokument selbst festhalten.

  • Umlauten ist

Umlaute sind außerhalb des ASCII-Zeichensatzes (das sind nur die 127 Zeichen), d.h. in verschiedenen Charsets werden sie unterschiedlich kodiert.
Das große ‚Ä‘ ist z.b. 0xC3 in latin1 aka iso-8859-1, in UTF-8 wird es in zwei Bytes kodiert, das kleine ‚ä‘ in UTF-8 wäre z.B. 0xC3 0xA4

Anders gesagt, wie programmiere ich eine HTML / XHTML Site,
dass der gewählte Zeichensatz im Browser die Umlaute nicht
falsch darstellt?

  1. Du weißt, in welchem charset dein Editor die Dateien abspeichert
  2. Du gibst dem HTTP-Header und/oder der Datei (über -Tag) diese Kodierung mit.

Ich persönlich wähle inzwischen nur noch UTF-8, weil ich in meinen Homepages auch „user generate content“ habe, und ich meine Benutzer auf die 256 Zeichen von latin1 beschränken will.

Wie kann der Benutzer damit umgehen? Soll er jedesmal alle
Zeichensätze ausprobieren? :-/

Nein, die Angabe des Charsets sorgt dafür, dass man nicht ausprobieren muss - der Browser wählt automatisch den richtigen.

Grüße,
Moritz

1 „Gefällt mir“

Hallo Moritz

Im HTTP-Header, der üblicherweise so aussieht:

Content-Type: text/html; charset=utf-8

oder

Content-Type: application/xhtml+xml; charset=iso-8859-1

Wenn ich hier den HTML Source anschaue:

dann sehe ich auch nichts von einer Charset Definition.
Und ich denke, dass diese Seite unabhängig vom gewählten Browser Charset korrekt dargestellt wird.
Oder wird das über die „loose.dtd“ als Vorlage definiert?

Grüsse
C4e

Hallo,

Im HTTP-Header, der üblicherweise so aussieht:

Content-Type: text/html; charset=utf-8

oder

Content-Type: application/xhtml+xml; charset=iso-8859-1

Wenn ich hier den HTML Source anschaue:

Tu das nicht, dann musst du noch kotzen.
Das ist nicht der HTTP-Header, sondern die Document Type Declaration.

Den header bekommt man z.B. so:

$ wget -S http://www.wer-weiss-was.de/
--17:06:02-- http://www.wer-weiss-was.de/
 =\> `index.html'
Resolving www.wer-weiss-was.de... 213.239.218.19, 213.133.98.163, 213.133.110.247
Connecting to www.wer-weiss-was.de|213.239.218.19|:80... connected.
HTTP request sent, awaiting response... 
 HTTP/1.1 301
 Proxy-Connection: close
 Connection: close
 Via: 1.1 MYCOMPUTER
 Expires: Now
 Date: Thu, 21 Jun 2007 16:05:48 GMT
 Location: http://www.wer-weiss-was.de/content/start.shtml
 Content-Type: text/plain; charset=iso-8859-1
 Server: Apache
 Cache-control: private
 Pragma: no-cache
 Set-Cookie: homepage=1-v4; expires=Sun, 06-Feb-2022 11:12:00 GMT; path=/; domain=.wer-weiss-was.de
...

Da siehst du den charset.

dann sehe ich auch nichts von einer Charset Definition.
Und ich denke, dass diese Seite unabhängig vom gewählten
Browser Charset korrekt dargestellt wird.

Natürlich, weil das vom HTTP-Header überschrieben wird.

Oder wird das über die „loose.dtd“ als Vorlage definiert?

Nein.

Grüße,
Moritz