我在我的應用程序中使用WPF WebBrowser控件。我有一個文件(mht),其中包含德語umlaute(äöü)。現在,我用.Navigate(路徑)加載這個文件,但問題是,這個字符顯示不正確。我該如何解決這個問題?WPF WebBrowser和特殊字符,如德語「umlaute」
最好的問候,托馬斯
我在我的應用程序中使用WPF WebBrowser控件。我有一個文件(mht),其中包含德語umlaute(äöü)。現在,我用.Navigate(路徑)加載這個文件,但問題是,這個字符顯示不正確。我該如何解決這個問題?WPF WebBrowser和特殊字符,如德語「umlaute」
最好的問候,托馬斯
我有以下解決它:
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();
}
WebBrowser控件使用Internet Explorer在內部,你有你的本地計算機上的任何一個版本。如果你可以在IE中解決這個問題,它應該在WebBrowser控件中修復。
這是非常古怪的。
我的解決辦法是把一個明確的meta標籤在我的HTML文件 - 「我的page.html中」
<meta http-equiv='Content-Type' content='text/html;charset=UTF-8'>
然後使用標準的Web瀏覽器.NET控件然後我創建了一個URI對象第一。
webBrowser1.Url = new Uri("My Page.html");
然後使用刷新方法繪製頁面。
webBrowser1.Refresh();
注意,如果你直接使用導航方法失敗拿起utf-8的指令,但URI和刷新方法確實。
古怪,但它的作品。
歡迎來到SO加文。您應該添加4個空格來突出顯示代碼或將它們放在'之間,而不是試圖爲'<' & '>'提供一個很好的渲染。 – j0k 2012-09-05 15:55:14
好的。我已經看到,我可以在IE中更改編碼。當我加載我的文件並將編碼更改爲UTF-8時,所有內容都顯示完美。但是我找不到這個地方,我可以在WebBrowser控件中更改編碼。你能幫我解答嗎? – BennoDual 2011-05-05 22:03:59
在你的頁面中,你可以嘗試設置這種格式的編碼(charset):'' – 2011-05-05 23:13:04
我已經用設置charset。 – BennoDual 2011-05-06 09:46:15