我有一个轻微的痛苦错误,目前我正在使用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">
答案 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字母表。