如何在WPF中的Web浏览器控件中显示Unicode字符

3
我希望在WPF的Web浏览器控件中显示不同语言的Unicode字符,但它显示特殊字符。

我需要在Web浏览器控件中设置什么吗?


你尝试过HTML实体(十六进制)吗?http://www.fileformat.info/info/unicode/char/200b/index.htm - paparazzo
给那些点踩的人:为什么?这其实是一个很好的问题,考虑到仍然不是所有网站都在它们的HTTP响应中发送“Content-Type: text/html; charset =”。 - noseratio - open to work
2个回答

1
您没有告诉我们如何将内容加载到WebBrowser中。如果您导航到URL,请确保服务器在HTTP响应头的Content-Type中发送正确的charset编码:
Content-Type: text/html; charset=utf-8

如果您无法控制服务器,并且服务器在响应内容中没有指定字符集(一种不好的方式),则需要在文档加载完成后使用 DOM 的 document.charset 属性手动设置编码。WPF 版本的 WebBrowser 不公开此属性,因此您需要使用 dynamic
dynamic domDocument = webBrowser.Document;
domDocument.charset = "Windows-1252";

我在这里以“Windows-1252”作为示例,实际上您需要进行实验,以找到特定网页的正确值,如果服务器没有指定。将页面加载到完整的IE中,转到查看/编码/更多菜单并找到适用于该页面的内容。

话虽如此,如果您导航到一个字符串(使用),它应该支持Unicode字符。


0

Accept-Language 头部信息不会影响实际的字符编码,而 Content-Type 会。 - noseratio - open to work

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接