在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。有人知道我如何更改文档的字符集吗?我已经尝试将meta标签插入文档中,但没有任何效果:

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


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

最佳答案

我发现只有在使用Helvetica作为CSS中的字体时,该问题才会存在。当我将其更改为Arial时,它可以工作。所以它一定是与字体有关的...
浏览器正确显示它但打印预览不显示仍然很奇怪。

09-18 01:06