WPF WebBrowser和特殊字符,如德语“变音”
本文关键字:德语 变音 WebBrowser 特殊字符 WPF | 更新日期: 2023-09-27 17:55:12
我在应用中使用 WPF Web 浏览器控件。我有一个文件(mht),其中包含德语变音符号(ä ö ü)。现在,我用.导航(路径),但问题是,此字符显示不正确。我该如何解决这个问题?
最好的问候,托马斯
这很古怪。
-
我的解决方案是在我的HTML文件中放置一个明确的元标记 - "我的页面.html"
<meta http-equiv='Content-Type' content='text/html;charset=UTF-8'>
-
然后使用标准 Web 浏览器 .NET 控件,我首先创建了一个 URI 对象。
webBrowser1.Url = new Uri("My Page.html");
-
然后使用刷新方法绘制页面。
webBrowser1.Refresh();
请注意,如果直接使用 Navigate 方法,则无法选取 utf-8 指令,但 URI 和刷新方法可以。
古怪,但它有效。
我已经用以下内容解决了它:
static void webBrowser_LoadCompleted(object sender, System.Windows.Navigation.NavigationEventArgs e) {
var webBrowser = sender as WebBrowser;
if(webBrowser == null) {
return;
}
var doc = (IHTMLDocument2)webBrowser.Document;
doc.charset = "utf-8";
webBrowser.Refresh();
}
今天早上我遇到了这个问题,直到我找到这个解决方案之前,它让我很恼火:
Stream stream = new MemoryStream(System.Text.Encoding.Default.GetBytes(Content_Of_HTML_File_In_String)));
webBrowser.NavigateToStream(stream);
与上面的解决方案相比,您不会期望任何"COMException"或类似的东西。
WebBrowser 控件在内部使用 Internet Explorer,无论您在本地 PC 上具有哪个版本。 如果可以在IE中修复该问题,则应在WebBrowser控件中修复该问题。