将javascript生成的文档的字符集更改为utf8

Change charset of javascript generated document to utf8

本文关键字:utf8 字符集 文档 javascript      更新时间:2023-09-26

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

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

生成的文档正确地显示了"pfel",但是当我在浏览器(Chrome)中打印页面时,德语的Umlautï被替换为A,并显示了"Apfel"。

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

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

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

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

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

我发现只有当我在css中使用Helvetica作为字体时,问题才存在。当我把它改成Arial时,它起作用了。所以它一定是与字体有关的。。。仍然奇怪的是,浏览器显示正确,但打印预览没有。