C# 在文本块中显示特殊字符

本文关键字:显示 特殊字符 文本 | 更新日期: 2023-09-27 18:34:31

在我的Windows Phone应用程序中,我从Internet上获取RSS并解析XML。我从rss中取出标题和描述,并将它们显示在文本块中。

在这里我发现了一些问题,特殊字符被菱形包含"?"代替。

      /*CONNECTION AND DOWNLOAD RSS*/ 
        WebClient wc = new WebClient();
        wc.DownloadStringCompleted += new DownloadStringCompletedEventHandler(load_web_news);
        wc.DownloadStringAsync(new Uri("http://.../rssFeedNews.asp"));
        ....
     /*SAVE RSS*/
            TextBlock tbTitle = new TextBlock();
            Run rTitle = new Run();
            rTitle.Text = rss.Title;
            Run rDescription = new Run();
            rDescription.Text = rss.Description;
            tbTitle.Inlines.Add(rTitle);
        ....
       /*PARSING*/  
    private void load_web_news(object sender, DownloadStringCompletedEventArgs e)
    {
        XElement xmlitems = XElement.Parse(e.Result);
        List<XElement> elements = xmlitems.Descendants("item").ToList();
        foreach (XElement rssItem in elements)
                {
                    RSSItem rss = new RSSItem();
                    rss.Description1 = rssItem.Element("description").Value;
                    String title = rssItem.Element("title").Value;

如何在WIndows手机应用程序中显示特殊字符,例如"à"è"°"等?

C# 在文本块中显示特殊字符

WebClient 可能没有使用正确的编码来下载您的 rss 提要,请尝试将 Encoding 属性设置为正确的属性(也许是 Unicode?

wc.Encoding = System.Text.Encoding.Unicode;

或者,如果您知道使用哪种特定编码:

wc.Encoding = System.Text.Encoding.GetEncoding("encoding name here") ;