Umlaute in JavaScript (unescaped)

Chewie

Aktives Mitglied
Thread Starter
Dabei seit
18.03.2003
Beiträge
314
Reaktionspunkte
1
Happy New Year zusammen!
Ich bastel gerade an einer Formularüberprüfung per JS. Hab jetzt festgestellt, dass ich die Umlaute in meinen alert Meldungen per unescape ausgeben muss, weil mein Provider halt einen Unix Server fährt.

Dabei hab ich jetzt allerdings folgendes Problem:
Im Netz hab ich mehrere Seiten mit Codetabellen für unescape Umlaute in JS gefunden. Am PC mit IE und FireFox funktioniert das auch mit den entsprechenden Codes (z.B. %FC für ü). Am Mac mit Safari allerdings nicht.
Hat JavaScript am Mac ne andere Zeichensatztabelle!? Wenn ja, wo kann ich eine finden.

Danke und viele Grüße
Chewie
 
Vielleicht verstehe ich das Problem nicht, aber JavaScript wird auf dem Client ausgeführt, daher ist es egal, welches OS der Server hat.

Hast du denn den Charset (<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />) richtig angegeben?

Ich verwende eigentlich immer alle Zeichen aus ISO-8859-1 direkt und ohne Escapes und hatte noch nie Probleme.
 
Hi oglimmer,
danke für die Antwort.
Richtig - JS wird auf dem Client ausgeführt, aber trotzdem müssen die Zeichensätze zwiscen Mac und PC verschieden sein, oder?
Charset ist im head angegeben und trotzdem zerschießt er mir die Umlaute in den alert Meldungen. Für den PC braucht's ja normalerweise z.B. unescaped %FC für ein ü. Unter OS9 mit IE funktioniert das auch am Mac. Aber bei (deutschem) OSX und Safari geht es nur mit anderen unescape codes.
Wie kann das sein?

Grüße
Chewie
 
Hi Chewie,
auch wenn Du per Meta-Tag den Zeichensatz angibst, wird dadurch nicht automatisch der Zeichensatz der Text-/HTML-Datei geändert. Deine Vermutung ist völlig richtig, die Zeichensätze sind (leider) zwischen Win und Mac verschieden. Wenn Du beispielsweise die Datei auf dem Mac anlegst, wird vermutlich «Mac OS Roman» angelegt, unabhängig vom Inhalt. Tipp: Falls Du Xcode installiert hast, kann man damit ganz nett über Format->File Encoding den Zeichensatz der Textdatei korrigieren. Bestimmt gibt's da auch kleine Helferlein für BBEdit und dergleichen.

Hoffe, das hilft.
 
Okay, also sind es verschiedene Zeichensätze.

Aber warum gibt es dann nochmal einen Unterschied zwischen Classic (OS9) und Panther!? Denn wie gesagt: unescape Zeichen, die jetzt unter OSX funktionieren produzieren bei OS9 nur Zeichenmüll.
 
Okay wenn dein Editor einen MAC spezifischen Zeichensatz verwendet, dann ist es klar.

Ich dachte halt, dass der Editor schon in ISO-8859-1 speichert. Das ist jetzt vielleicht nicht der tollste Tipp, aber kannst du nicht einen Editor verwenden, der einen standadisierten Zeichensatz verwendet, dazu würde ich dringend raten.

Ich denke ISO-8859-1 oder UTF-8 ist okay. Die Zeiten in der MAC und PC ihre eigenen "selbsterfundenen" Zeichensätze verwendet haben sollten eigentlich vorbei sein.
 
Zurück
Oben Unten