Umlaute

Wobei UTF-8 die Umlaute mit 'ä' darstellt...
Das ist falsch. In beiden Zeichensätzen, ISO 8859-1 und Unicode, ist das Zeichen ä enthalten und kann somit auch mit ISO 8859-1 beziehungsweise UTF-8 (für Unicode) kodiert werden, muss also nicht durch eine Zeichenreferenz dargestellt werden.

Nur wird dieses Zeichen aber mit beiden Kodierungen unterschiedlich kodiert.
Bei der für den ISO-8859-1-Zeichensatz verwendete 8-Bit-Kodierung (jedes der 256 Zeichen wird mit 8 Bit kodiert) wird das ä-Zeichen, das sich im ISO-8859-1-Zeichensatz an der Position 0xE4 befindet, mit derselben Bit-Sequenz kodiert.
Beim Unicode-Zeichensatz befindet sich das ä-Zeichen zwar an derselben Position (ebenfalls 0xE4). Doch UTF-8 kodiert diese etwas anders kodiert, nämlich mit 0xC3A4. Dies hängt mit der „Dynamik“ der UTF-8-Kodierung zusammen, da nur die ersten 128 Zeichen mit 8 Bit kodiert werden, nachfolgende Zeichen aber je nach Position mit 16, 24 oder 32 Bit kodiert werden.

Da ISO 8859-1 und UTF-8 somit nur bei den ersten 128 Zeichen kompatibel sind, kann es so zu Fehlinterpretationen kommen, wenn die Daten nicht richtig kodiert oder die Kodierung nicht richtig angegeben werden.
 
Axö ok, dann war ich da etwas falsch informeirt...
Ich bezog das eigentlich auch eher auf die Schreibweise im Code...

Bei der einen Kodierung muss man im Code, wenn man die Seite schreibt, bereits Umlaute und Co mit >&auml;<diesen komischen Formulierungen schreiben...
Bei der anderen kann mans ich die Mühe sparen udn auch im Code schon ä,ö,ü schreiben...

Zumindest stieß ich da mal auf was, dass da irgendwie noch ne differenzierung ist...
 
Nur wenn das gewünschte Zeichen im verwendeten Zeichensatz nicht vorhanden, mit der verwendeten Zeichenkodierung also auch nicht kodiert werden kann, ist es nur möglich diese mit Hilfe von Zeichenreferenzen darzustellen.
Da jedoch in beiden genannten Zeichensätzen (ISO 8859-1 und Unicode) das ä-Zeichen enthalten ist, kann es auch mit passenden Kodierungen kodiert, also direkt verwendet werden.
 
Wie bereits genannt, werden die Zeichen bei UTF-8 und ISO 8859-1 unterschiedlich kodiert. Ein mit der ISO-8859-1-Kodierung kodiertes ä (0xE4) ist in UTF-8 eine ungültige Bitfolge. Deswegen das Fragezeichen als Ersatzzeichen. Umgekehrt entspricht das mit UTF-8 kodierte ä (0xC3A4) mit ISO 8859-1 interpretiert zwei Zeichen, nämlich den Zeichen der Positionen 0xC3 („Ó) und 0xA4 („¤“).
 
Wie bereits genannt, werden die Zeichen bei UTF-8 und ISO 8859-1 unterschiedlich kodiert. Ein mit der ISO-8859-1-Kodierung kodiertes ä (0xE4) ist in UTF-8 eine ungültige Bitfolge. Deswegen das Fragezeichen als Ersatzzeichen. Umgekehrt entspricht das mit UTF-8 kodierte ä (0xC3A4) mit ISO 8859-1 interpretiert zwei Zeichen, nämlich den Zeichen der Positionen 0xC3 („Ó) und 0xA4 („¤“).

Ahhhhhhhhhh ja *am kopf kratzt* hast Du mal nen Link zu einer Seite wo das alles beschrieben wird ?

Und was ist den der standart oder gibt es da keinen ?
 
Du kannst auch schon in der Config vom Apache2 Server einen Zeichensatz definieren, ich meine vordefiniert ist dort utf-8.
Einstellen kannst du das unter Windows in der httpd.config und in Linux, zumindestens unter Debian Etch geht das unter /etc/apache2/conf.d/charset
 

Neue Beiträge

Zurück