【发布时间】: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(具有正确的字符集)并写入()应该可以解决它。
-
好的,问题是如何使用正确的字符集打开空白页?
-
<html><head><meta charset ...as blank.html
标签: javascript html utf-8 character-encoding