【发布时间】:2019-06-20 13:56:56
【问题描述】:
我目前正在使用 Visual Studio 15 在 framework 4.0 下设计一个 C#,其中一个 WebBrowser 对象用于显示一些信息。
当我使用C:\temp\myfile.html 之类的 URL 将文件加载到 WebBrowser 时,一切都完美显示。
当我使用包含与文件完全相同的内容的字符串时,每个重音字符都显示为小丑字符(带问号的菱形...)。
请注意,我在这两种情况下都使用了嵌入式 CSS 规范,但我很确定这不会对我的问题产生任何影响,因为我在有或没有 CSS 部分的情况下进行了测试,结果完全相同。
从文件中设置Html页面的代码是:
webMain.Navigate("about:blank");
while (webMain.Document == null || webMain.Document.Body == null) Application.DoEvents();
if (url != null) webMain.Navigate(url);
用于从字符串设置Html页面的代码是:
webMain.DocumentText = "0";
webMain.Document.OpenNew(true);
webMain.Document.Write(_html);
webMain.Visible = true;
webMain.Refresh();`
我错过了什么?
【问题讨论】:
-
您可能需要设置正确的编码 - 例如 webMain.Document.Encoding = "UTF-8" 或适用于 _html 字符串中数据的任何编码
-
当然,不过Html开头有这样一个设置:
Champollion 2019 -
好的,我希望网络浏览器控件能够尊重这一点,但这只是我的猜测。您确定编码与文档内容匹配吗?该文档实际上是 iso-8859-1 而不是 utf-8 或其他代码页
-
相当肯定:当文件加载到 WebBrowser 对象或实际浏览器(Firefox、IE、Edge、Chrome...)中时,它会正确显示
标签: c# webbrowser-control diacritics html-rendering