WPF WebBrowser和德语“umlaute”等特殊字符

我在我的应用程序中使用WPF WebBrowser控件。 我有一个文件(mht),其中包含德语umlaute(äöü)。 现在,我用.Navigate(路径)加载这个文件,但问题是,这个字符没有显示正确。 我怎么解决这个问题?

最诚挚的问候,托马斯

我用以下方法解决了这个问题:

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(); } 

这非常古怪。

  1. 我的解决方案是在我的HTML文件中添加一个显式元标记 – “My Page.html”

      
  2. 然后使用标准的Web浏览器.NET控件,我首先创建了一个URI对象。

     webBrowser1.Url = new Uri("My Page.html"); 
  3. 然后使用refresh方法绘制页面。

     webBrowser1.Refresh(); 

请注意,如果直接使用Navigate方法,则无法获取utf-8指令,但URI和刷新方法会执行此操作。

古怪,但它的工作原理。

WebBrowser控件在内部使用Internet Explorer,无论您在本地PC上使用哪个版本。 如果你可以解决IE中的问题,它应该在WebBrowser控件中修复。