window.open()之后的字符编码更改

时间:2010-01-26 15:18:48

标签: javascript encoding utf-8 character-encoding hyperlink

我正在调用window.open()函数的网站是UTF-8,使用<meta>标记,一切正常,但是一旦我调用该函数并打开另一个窗口标签,新窗口显示奇怪的字符甚至在页面信息中认为它表明编码保持不变(UTF-8)。

这与我的问题相同: http://bytes.com/topic/javascript/answers/622922-character-encoding-after-window-open

4 个答案:

答案 0 :(得分:2)

我有完全相同的问题。

问题结果是我在打开的窗口中设置了“Session.CodePage = 65001”。这搞砸了那个会话的字符编码。因此,当我刷新“主”页面时,某些字符(例如åäö)突然出现乱码。

解决方案:确保新窗口中的页面不会更改会话的代码页。祝你好运!

答案 1 :(得分:2)

我遇到了同样的问题。只需在unescape(decodeURIComponent( YOUR_URL ))内使用window.open()

例如:window.open(unescape(decodeURIComponent( YOUR_URL )), '_blank');

希望它有所帮助。

答案 2 :(得分:1)

添加charset =&#34; UTF-8&#34;属性为您的JavaScript标记。如果乱码的原因是你包含的javascript,这至少会起作用。

答案 3 :(得分:0)

如果浏览器对两个页面使用相同的编码(显然,它确实如此),则问题必须在页面本身。它可能包含无效的UTF-8。