【问题标题】:Change charset of javascript generated document to utf8将 javascript 生成的文档的字符集更改为 utf8
【发布时间】:2016-07-11 18:47:20
【问题描述】:

在 javascript 中,我打开一个新窗口,然后将内容写入其文档:

var printerFriendlyWindow = window.open();
printerFriendlyWindow.document.open();
printerFriendlyWindow.document.write('Äpfel');
printerFriendlyWindow.document.close();

生成的文档正确显示'Äpfel',但是当我在浏览器(Chrome)中打印页面时,德语变音符号Ä被替换为A并显示'Apfel'。

当我检查文档的字符格式时,我得到'windows-1252':

alert(printerFriendlyWindow.document.characterSet);
// -> windows-1252

但是,我需要 utf-8。有人知道如何更改文档的字符集吗?我已经尝试在文档中插入一个元标记但没有效果:

printerFriendlyWindow.document.write('<meta charset="utf-8">');

有什么想法可以解决这个问题吗? 谢谢!

【问题讨论】:

  • @dandavis 有趣的是父窗口的字符集是'UTF-8'。
  • 嗯。它可能是浏览器/用户/操作系统的默认设置,但打开一个空白页面 url(具有正确的字符集)并写入()应该可以解决它。
  • 好的,问题是如何使用正确的字符集打开空白页?
  • &lt;html&gt;&lt;head&gt;&lt;meta charset ... as blank.html

标签: javascript html utf-8 character-encoding


【解决方案1】:

我发现问题只有在我使用 Helvetica 作为 css 中的字体时才存在。当我将其更改为 Arial 时,它起作用了。所以它必须是与字体相关的东西...... 浏览器正确显示它但打印预览却没有显示仍然很奇怪。

【讨论】:

    猜你喜欢
    • 2015-09-29
    • 2010-11-12
    • 1970-01-01
    • 2014-01-05
    • 2020-02-06
    • 1970-01-01
    • 2012-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多