Probleme mit Umlauten bei Alert-Dialog

Fragen und Antworten zur clientseitigen Programmiersprache JavaScript

Probleme mit Umlauten bei Alert-Dialog

Beitragvon kalle am Fr 7. Mär 2008, 13:07

Hallo,

kann mir jemand sagen, wie ich in einem Alert-Fenster Umlaute darstellen kann?
Wenn ich Umlaute angebe, dann wird bei mir das Zeichen mit dem Umlaut nicht angezeigt.
Auch wenn ich Umlaute per HTML-Kodierung angebe klappt es nicht! Im Head-Bereich der
HTML-Datei habe ich iso-8859-15 als Zeichensatz angegeben aber das scheint den Browser
nicht zu interessieren...

Beispiel:
Code: Alles auswählen
alert ('Überraschung!');   => zeigt nur "berraschung" an
alert ('Überraschung!');   => zeigt "Überraschung!" an
alert ('Äberraschung!');   => zeigt "Äberraschung!" an


Irgendeiner ne Idee, woran das liegt?
kalle
 
Beiträge: 11
Registriert: Do 6. Mär 2008, 13:25
Posts

Beitragvon marco am Fr 7. Mär 2008, 15:12

Hallo kalle,

am einfachsten dürfte es sein, wenn Du die Umlaute durch ihren UTF-Code ersetzt. Bei mir
klappt das hervorragend! (funktioniert übrigens auch bei den anderen Dialogen)
Hier die wichtigsten Zeichen und ihre Codes nach ISO-8859-15:
ä: e4, ö: f6, ü: fc
Ä: c4, Ö: d6, Ü: dc
ß: df

Beim Zeichen 'Ü' ist der Hex-Code im Zeichensatz 'dc'. Setz einfach die Zeichen '\u00'
vor den Code des darzustellenden Zeichens. Beispiel:
Code: Alles auswählen
alert ('\u00dcberraschung!');


Hatte dieses Problem auch und das ist die einzige Methode, die wirklich funktionierte.

Grüße
Marco
marco
 
Beiträge: 12
Registriert: Do 6. Mär 2008, 13:18
Posts

Beitragvon kalle am Fr 7. Mär 2008, 16:07

Super! Das funktioniert auch bei mir so! Danke auch für die Codes der Sonderzeichen...
Denke, dass die aufgeführten Zeichencodes normalerweise alles nötige abdecken werden.
Wenn ich weitere Zeichen benötige, dann werde ich sie sicher finden. :D
kalle
 
Beiträge: 11
Registriert: Do 6. Mär 2008, 13:25
Posts

Beitragvon alm am Fr 7. Mär 2008, 23:03

Hallo,

das Problem liegt hier darin, dass der Zeichensatz, den Du im Head-Bereich der HTML-Datei
angibst, nur dann wirklich angenommen wird, wenn der vom Webserver gesendete Header der
Datei dasselbe sagt. Normalerweise wird der Webserver im Header aber den Zeichensatz UTF-8
angeben - wobei das noch lange nicht bedeutet, dass die Datei auch in UTF-8 vorliegt bzw.
verschickt wird. An diese Angabe hält sich der Browser auch dann gebunden, wenn im Head der
gesendeten HTML-Datei etwas anderes steht.

Es reicht also nicht einfach (per HTTP-Header oder per Meta-Tag) zu sagen dass die Datei
in einem bestimmten Format vorliegt. Die Datei muss auch in diesem Format gespeichert sein
bzw. versendet werden (wenn die Seite dynamisch erzeugt wird). Hierzu benötigt man einen
vernünftigen Editor, der es erlaubt den Zeichensatz, mit dem eine Datei gespeichert wurde,
explizit festzulegen. Wurde die Datei in UTF-8 gespeichert, dann ist es gar nicht mehr nötig
irgendwelche Charset-Angaben in den Meta-Tags einer (X)HTML- oder XML-Datei anzugeben. Alle
Umlaute und auch die anderen Sonderzeichen werden dann korrekt dargestellt und man kann ganz
normal im Editor ein 'Ü' einfügen, wo ein 'Ü' ausgegeben werden soll. Dabei ist es egal, ob
die Zeichen im JavaScript-Code oder im Text der Seite enthalten sind. Hierdurch kann man sich
auch die Angabe von 'Ü' sparen, was die Dateien nebenbei auch (wenigstens ein bisschen)
verkleinert, da die UTF-Codierung zwei Bytes, statt der sechs benötigt.

Gruß
Alex
EvoComp.de
Beachten Sie unsere Beispiele zu JavaScript, PHP und Ajax, sowie unser PHP MySQL Tutorial
alm
 
Beiträge: 81
Registriert: Do 21. Feb 2008, 16:22
Posts


Zurück zu JavaScript

cron