Кодировка символов WP7 WebControl

У меня есть этот маленький кусочек HTML

<b>OBNUBIL�,</b> 
<abbr class="abbrev" title="persoană">pers.</abbr>
 3 <i>obnubilează,</i> 
<abbr class="abbrev" title="verb">vb.</abbr>
 I. <abbr class="abbrev" title="reflexiv">Refl.</abbr> 
(Rar; despre vedere, memorie) A se �ntuneca, a slăbi, a se umbri.  Din 
<abbr class="abbrev" title="limba latină">lat.</abbr> 
<b>obnubilare,</b> 
<abbr class="abbrev" title="limba franceză">fr.</abbr> 
<b>obnubiler.</b>

который я хочу отобразить в веб-браузере на приложении Windows Phone, написанном на C#. Этот фрагмент HTML хранится в строке: str2.Я использовал эту строку кода: webBrowser1.NavigateToString(str2), Это работает но Romanian diacritics (ă ,ș ,ț,�, � ,Ă,Ț ,�,�,Ș) не показаны
Как изменить кодировку символов для WebControl с UTF-8 на ISO-8859-16 в Windows Phone?

    private void webClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
    {
        if (e.Error != null)
        {
            Deployment.Current.Dispatcher.BeginInvoke(() =>
            {
                // Showing the exact error message is useful for debugging. In a finalized application, 
                // output a friendly and applicable string to the user instead. 
                MessageBox.Show(e.Error.Message);
            });
        }
        else
        {
            string textString = (string)e.Result;
            string fixedString = "";


            // This search returns the substring between two strings, so 
            // the first index is moved to the character just after the first string.
            string defStart = "cuvânt\">";
            string defEnds = "</span>  <br/>";
            textString = textString.Replace("\r", "").Replace("\n", "");
            int first = textString.IndexOf(defStart) + defStart.Length;
            int last = textString.LastIndexOf(defEnds);
            string str2 =textString.Substring(first, last - first);
            str2 = str2.Replace("&#x2013;", " - ");

            // Remove tab spaces
            str2 = str2.Replace("\t", " ");
            // Remove multiple white spaces from HTML
            str2 = Regex.Replace(str2, "\\s+", " ");

            //str2 = Regex.Replace(str2, "<[^>]+>", string.Empty);
            //BannerTextBlock.Text=str2;

            webBrowser1.NavigateToString(str2);



        }
    }

Я надеюсь, что кто-то понимает мою проблему и может мне помочь. Заранее спасибо!

1 ответ

Я просто помогу вам с моими знаниями в веб-среде:

если вы отображаете этот тип символа: "é", "î", "Ã", ... => данные были сохранены в UTF-8, и браузер думает, что ему приходится иметь дело с ISO.

если вы отображаете этот тип символа: " " => данные были сохранены в ISO, и браузер думает, что ему приходится иметь дело с UTF-8.

PS: извините за мой английский.

Надеюсь, я помогу тебе.

Другие вопросы по тегам