2011-05-05 7 views

Répondre

2

je l'ai résolu avec les éléments suivants:

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

Le contrôle de navigateur Web utilise Internet Explorer en interne, quelle que soit la version que vous avez sur votre PC local. Si vous pouvez résoudre le problème dans IE, il doit être résolu dans le contrôle WebBrowser.

+0

Ok. J'ai vu, que je peux changer l'encodage dans IE. Lorsque je charge mon fichier et change l'encodage en UTF-8, tout est parfait. Mais je ne peux pas trouver l'endroit, où je peux changer l'encodage dans le contrôle WebBrowser. Pouvez-vous m'aider à ce sujet? – BennoDual

+0

Dans votre page, vous pouvez essayer de définir l'encodage (charset) dans ce format: '' –

+0

Je l'ai résolu avec réglage le jeu de caractères. – BennoDual

1

Ceci est très bizarre.

  1. Ma solution était de mettre une étiquette explicite méta dans mon fichier HTML - "Mon page.html"

    <meta http-equiv='Content-Type' content='text/html;charset=UTF-8'> 
    
  2. Ensuite, en utilisant le navigateur Web standard contrôle .NET J'ai ensuite créé un objet URI premier.

    webBrowser1.Url = new Uri("My Page.html"); 
    
  3. dessiner ensuite la page en utilisant la méthode de rafraîchissement.

    webBrowser1.Refresh(); 
    

Remarque si vous utilisez la méthode Navigate directement, il ne parvient pas à prendre la directive utf-8, mais l'URI et rafraîchir approche fait.

Quirky, mais cela fonctionne.

+1

Bienvenue à SO Gavin. Au lieu d'essayer d'avoir un bon rendu pour '<' & '>' vous devriez ajouter 4 espaces pour mettre en évidence le code ou les placer entre '. – j0k

Questions connexes