Re: Deutsche Umlaute kodieren

Andreas Schwarz <[email protected]> Tue, 22 Jun 2004 12:15:00 +0000 (UTC)
Newsgroups gmane.comp.lang.ruby.german
Message-ID <[email protected]>
Sascha Dördelmann wrote:
> Hallo zusammen,
> 
>>>
> Warum willst du diese Entitys verwenden?
> Wenn die Seite im Header
> 
><meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
> 
> enthält, kannst du problemlos Latin-1 verwenden. Solltest du lieber
> Latin-9 nehmen, musst du iso-8859-1 durch iso-8859-15 ersetzen.
><<
> 
> Trotzdem würde ich erwarten, dass es eine Funktion zur Umwandlung von 
> Umlauten in Entitäten gibt und hätte ebenfalls escapeHTML als Kandidaten 
> dafür angesehen.

So eine Funktion müsste konsequenterweise auch alle anderen Zeichen aus
jedem anderen Zeichensatz kodieren können; das gibt eine längliche
Tabelle, und in einer einfachen Funktion wie escapeHTML ist das
definitiv fehlplatziert.

> Übrigens bin ich nicht sicher, ob Umlaute nicht trotz Angabe des 
> Zeichensatzes im Header gelegentlich doch umkodiert werden müssen. Umlaute 
> in Links müssen zum Beispiel anders behandelt werden als Umlaute im Text. 

Nicht-ASCII-Zeichen haben in URLs nichts zu suchen, sondern müssen als
'%' + Hexcode angegeben werden. Tut man das nicht, ist es Glückssache ob
sie der Browser als UTF-8, iso-8859-1 oder sonstwas sendet (UTF-8 ist
empfohlen).

> Der Link wird ja ohne Angabe eines Zeichensatzes an einen Webserver 
> geschickt und ggf. dann noch von einem Skript ausgewertet.

Deshalb muss man beim URL-bauen wissen welchen Zeichensatz das Skript
erwartet.