WPF WebBrowser и специальные символы, такие как немецкий "умляут" - PullRequest
1 голос
/ 05 мая 2011

Я использую WPF WebBrowser Control в своем приложении.У меня есть файл (MHT), который содержит немецкий Umlaute (ä ö ü).Теперь я загружаю этот файл с помощью .Navigate (путь), но проблема в том, что эти символы отображаются неправильноКак я могу решить это?

С наилучшими пожеланиями, Томас

Ответы [ 3 ]

2 голосов
/ 06 мая 2011

Я решил это со следующим:

    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 голос
/ 05 сентября 2012

Это очень странно.

  1. Мое решение состояло в том, чтобы поместить явный метатег в мой HTML-файл - "My Page.html"

    <meta http-equiv='Content-Type' content='text/html;charset=UTF-8'>
    
  2. Затем, используя стандартный веб-браузер .NET, я сначала создал объект URI.

    webBrowser1.Url = new Uri("My Page.html");
    
  3. Затем нарисуйте страницу, используя метод обновления.

    webBrowser1.Refresh();
    

Обратите внимание, что если вы используете метод Navigate напрямую, он не может подобрать директиву utf-8, но подход с URI и обновлением делает.

Причудливо, но работает.

0 голосов
/ 05 мая 2011

Элемент управления WebBrowser внутренне использует Internet Explorer, какую бы версию вы не установили на локальном ПК.Если вы можете решить проблему в IE, это должно быть исправлено в элементе управления WebBrowser.

...