2009-04-23 7 views
0

bin Ich bin unescaping ein ® (Registrierungszeichen) in firefox, um in einem Formular eingereicht zu werden, da das Schreiben dieses Zeichens in Javascript das Skript merkwürdig benimmt.Firefox und magisch erscheinendes Zeichen (Â) wenn ich einen unescaping ein

Allerdings muss ich die unescaped (..) Version des Zeichens verwenden, da es an das Backend übergeben wird (wo ich keine Kontrolle habe) und die Ausgabe ist eine PDF-Datei, die das unescaped ® zur Anzeige in einem verwendet pdf.

ich unescape den ® Charakter wie folgt aus:

unescape("%AE")

aber ... wenn ich sehen Sie die ® in der PDF-Datei als ® erscheint, geschieht dies nur in Firefox, im Internet Explorer .

Gibt es das in Firefox 2/3?

Danke,
      Andrew

Antwort

3

AFAIK nach URL-Kodierung, Mozilla gibt die Unicode-Darstellung von ®, aber IE nicht. ("% C2% AE" in Hex, und %C2 bedeutet, dass das seltsame Zeichen  in der PDF erscheint.) Internet Explorer und Mozilla Unescapes Strings auf eine andere Art und Weise. Sie sollten eine explizite Zeichencodierung festlegen, hauptsächlich UTF-8.

MDC: escape and unescape Functions:

Die Flucht und unescape Funktionen funktionieren nicht richtig für Nicht-ASCII-Zeichen und veraltet. Verwenden Sie in JavaScript 1.5 und höher encodeURI, decodeURI, encodeURIComponent und decodeURIComponent.

MSDN:

unescape Die Methode gibt einen String Wert, der den Inhalt des CharString enthält. Alle codierten Zeichen mit dem Hexadezimalformat% xx sind ersetzt durch ihre ASCII-Zeichensatz Äquivalente.

Characters in% uxxxx Format codierten (Unicode-Zeichen) werden mit den Unicode-Zeichen mit hexadezimaler Codierung xxxx ersetzt.