2013-10-09 2 views
0

В моем приложении Windows Phone я беру RSS из Интернета, и я разбираю XML. Я беру название и описание из rss и отображаю их в TextBlock.C# Отображать специальные символы в TextBlock

Здесь я нахожу некоторые проблемы, символы, которые подставляются ромбом, содержат «?».

 /*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?

+0

точного кодирование для ИТАЛЬЯНСКОГО языка : wc.Encoding = System.Text.Encoding.GetEncoding ("ISO-8859-1"); –

ответ

2

WebClient, вероятно, не используя правильную кодировку, чтобы скачать фид RSS, попробуйте установить свойство Кодировка правого (может быть Unicode?):

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

или, если вы знаете, какой конкретно кодирование используется :

wc.Encoding = System.Text.Encoding.GetEncoding("encoding name here") ; 
Смежные вопросы