2010-10-06 4 views
2

Je cherchais depuis longtemps à obtenir une solution pour le jeu de caractères polonais dans wpf webbrowser. Après quelques heures de jeu, j'ai fait une solution, peut-être que quelqu'un d'autre en aura besoin, alors je partage.encodage webbrowser silverlight/wpf

private string EncodeUnicode(string strText) 
    { 
     string txtUnicode = ""; 
     foreach (char value in strText) 
     { 
      txtUnicode += Regex.Replace(Convert.ToString(value), "[ęóąśłżźćńĘÓĄŚŁŻŹŃ]", "&#" + (int.Parse(string.Format("{0:x4}", (int)value), System.Globalization.NumberStyles.HexNumber)).ToString()); 
     } 
     return txtUnicode; 
    } 

Bien sûr, vous pouvez remplacer ęóąśłżźćńĘÓĄŚŁŻŹŃ avec votre modèle. Et que juste utiliser

WebBrowser.NavigateToString(EncodeUnicode(Content)); 

Si quelqu'un a une meilleure solution plz partager aussi.

+0

"obtenir une solution pour le jeu de caractères polonais" quel était le problème? Pourquoi ne pouvez-vous pas inclure les personnages tels qu'ils sont, pourquoi ont-ils besoin d'échapper? – AnthonyWJones

+0

Eh bien, quand j'utilise WPF webbrowser alors tous les caractères polonais ne sont pas affichés, même si le code HTML à l'intérieur a un charset correct dans la métatag. C'est bon dans WINFORMS webbrowser mais pas silverlight/wpf. – Cfaniak

+0

Je ne pouvais pas trouver une meilleure solution, mais heureusement Votre solution fonctionne assez bien pour moi, merci :) –

Répondre

1

Essayez d'ajouter

<meta http-equiv='Content-Type' content='text/html;charset=UTF-8'> 

au sein <head></head> tag de votre chaîne HTML.

J'ai eu le même problème, votre solution a fonctionné pour moi, et cela a fonctionné aussi.