0

我有一个轻微的痛苦错误,目前我正在使用 window.open() 在新窗口中创建一个页面。

var myWindow = window.open ('','','scrollbars=1, menubar=1, toolbar=1, titlebar=1, status=1,     resizable=1, width=800, height=600');

然后我继续将 HTML 写入文档。

我需要允许 IE9 中的用户通过电子邮件发送我使用 File->Send->Page 创建的页面。但是,在尝试此操作时,电子邮件会使用奇怪的字符集输出。

格浴㹬਍†格慥㹤਍††琼瑩敬吾楨歮湩坧牯摬⁳慂敳䄠灰敬㱴琯瑩敬ാ †㰠敭慴栠瑴⵰煥極㵶䌢湯整瑮吭灹≥挠湯整瑮∽整瑸栯浴㭬挠慨獲瑥椽潳㠭㔸ⴹ∱ാഊഊ㰊䍓䥒呐䰠乁啇䝁㵅慊慶捓楲瑰ാ㰊ⴡഭഊऊ畦据楴湯猠瑥灵畆据楴湯愨

我已经绞尽脑汁,在网上搜索和搜索,我将不胜感激任何人能给我的帮助。

谢谢加里

更新:

只是一个快速更新我已经将页面的元数据设置如下。

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
4

2 回答 2

1

我遇到了完全相同的问题,我能够通过显式设置文档的字符集来部分解决它。这是我的测试页面:

<HTML>
        <HEAD>
            <SCRIPT>
                var w = window.open();

                w.document.open();
                w.document.charset = 'utf-8';
                w.document.write('<html><head></head><body>Page 2</body></html>');
                w.document.close();
            </SCRIPT>
        </HEAD> 
        <BODY>
            Page 1
        </BODY>
</HTML>

文档的字符集以“unicode”开头,无论我如何设置元标记都不会改变 - 只有通过显式更改字符集才能获得明文。

现在的问题是IE使用了错误的页面!即使我为第 2 页选择了选项卡,电子邮件也会显示第 1 页的内容。

如果我查看源代码或打印页面,我会看到第 2 页的内容。但如果我保存或通过电子邮件发送页面,我会得到第 1 页的内容。

如果我将保存类型更改为“网页,仅限 HTML”,我可以保存第 2 页的内容,但这不是默认设置,因此会让人感到困惑。

我假设这是因为新选项卡仍然具有初始页面的文件名 - 我试图弄清楚是否可以在不连接到初始页面的情况下打开窗口。

于 2013-05-03T13:36:54.103 回答
0

您可以使用 Content-Type 标头显式指定页面的编码。

例如

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

指定内容采用大多数西方国家使用的 Latin-1 字母表。

于 2012-07-16T10:12:49.183 回答