通过电子邮件发送页面,字符集错误

Send page by email, charset error

本文关键字:字符集 错误 电子邮件      更新时间:2023-09-26

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

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

然后,我开始将HTML写到文档中。

我需要允许IE9中的用户通过电子邮件发送我使用文件->发送->页面创建的页面。然而,当尝试这样做时,电子邮件会使用一个奇怪的字符集输出。

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

我绞尽脑汁,在网上搜索,我会感谢任何人能给我的帮助。

感谢Gary

更新:

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

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-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页的内容,但这不是默认设置,因此会让人感到困惑。

我认为这是因为新选项卡仍然有初始页面的文件名——我正在努力弄清楚是否可以在不连接初始页面的情况下打开窗口。

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

例如

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

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