2010-01-26 18 views
5

Die Website von wo ich die window.open() Funktion aufrufen ist in UTF-8, mit dem <meta> Tag, alles funktioniert gut, aber sobald ich die Funktion aufrufen und ein anderes Fenster mit der öffnen Das selbe Tag, das neue Fenster zeigt merkwürdige Zeichen, sogar wenn man in den Seiteninformationen denkt, dass die Kodierung gleich bleibt (UTF-8).Zeichenkodierung ändert sich nach window.open()

Dies ist das gleiche Problem wie ich: http://bytes.com/topic/javascript/answers/622922-character-encoding-after-window-open

Antwort

0

Wenn der Browser die gleiche Codierung für beiden Seiten verwendet (was anscheinend tut es), dann ist das Problem in der Seite selbst sein muss. Es enthält wahrscheinlich zu Beginn ungültige UTF-8.

+0

Nein, es ist im selben Editor geschrieben (das funktioniert gut). Und wenn ich es nicht in einem neuen Fenster öffne, funktioniert es auch. – LuRsT

+0

Seltsam ... Können Sie es in einem anderen Browser reproduzieren? – Thomas

+0

Yup, es ist das gleiche in FF 3.5 und ie8. Ich habe auch einen Link zu meiner Frage über jemanden mit dem gleichen Problem hinzugefügt. – LuRsT

2

Ich hatte genau das gleiche Problem.

Problem stellte sich heraus, dass ich in dem geöffneten Fenster "Session.CodePage = 65001" setzte. Das hat die Zeichencodierung für diese Sitzung vermasselt. Als ich die "Haupt" -Seite auffrischte, wurden plötzlich einige Zeichen (wie zB åäö) verstümmelt.

Lösung: Stellen Sie sicher, dass die Seite in dem neuen Fenster die Codepage der Sitzung nicht ändert. Viel Glück!

2

Ich hatte das gleiche Problem. Verwenden Sie einfach unescape(decodeURIComponent(YOUR_URL)) innerhalb window.open().

Zum Beispiel: window.open(unescape(decodeURIComponent(YOUR_URL)), '_blank');

Hoffnung, es hilft.

1

Fügen Sie Ihren JavaScript-Tags ein charset = "UTF-8" -Attribut hinzu. Dies wird zumindest funktionieren, wenn die Ursache der verstümmelten Zeichen Ihr eingeschlossenes Javascript ist.

Verwandte Themen