1

私はこの小さな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>

C#で書かれたWindows PhoneアプリケーションのWebBrowserに表示したい. この HTML は文字列に格納されています。str2. 私はこのコード行を使用しました: webBrowser1.NavigateToString(str2). 動作しますがRomanian diacritics (ă ,ș ,ț,�, � ,Ă,Ț ,�,�,Ș)、表示されません。
Windows Phone で WebControl の文字エンコーディングを UTF-8 から ISO-8859-16 に変更するにはどうすればよいですか?

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

誰かが私の問題を理解し、助けてくれることを願っています。前もって感謝します!

4

1 に答える 1

0

Web環境に関する私の知識をお手伝いします:

このタイプの文字を表示する場合: "é", "î", "Ã", ... => データは UTF-8で保存され、ブラウザはISOを処理する必要があると考えます。

このタイプの文字を表示する場合: "�" => データは ISOで保存され、ブラウザはUTF-8を処理する必要があると考えます。

PS: 私の英語で申し訳ありません。

お役に立てれば幸いです。

于 2012-07-11T09:02:03.037 に答える