通过电子邮件发送页面,charset错误

时间:2012-07-16 10:06:40

标签: javascript html internet-explorer

我有一个轻微的痛苦错误,目前我正在使用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创建的页面。但是,在尝试此操作时,电子邮件将使用奇怪的字符集输出。

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

我绞尽脑汁在线搜索和搜索,我将不胜感激,任何人都可以给予我帮助。

谢谢Gary

更新:

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

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

2 个答案:

答案 0 :(得分: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页的内容,但这不是默认设置,因此会让人感到困惑。

我假设这是因为新标签仍然具有初始页面的文件名 - 我试图弄清楚是否可以打开窗口而不连接到初始页面。

答案 1 :(得分:0)

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

例如

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

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