2017-03-16 133 views
2

我想从使用webclient的页面获取文本,但阿拉伯文本显示不正确。使用WebClient阅读阿拉伯文本

TEST1:

WebClient webClient = new WebClient(); 
Stream s = webClient.OpenRead(urlLink); 
StreamReader sr = new StreamReader(s); 

TEST2:

String utf8 = webClient.DownloadString(webClient, url, Encoding.UTF8); 

输出:

我已经使用以下URL = http://www.elnashra.com/尝试了以下码El - Elnashra

回答

0

当您在浏览器中打开的网址,并与开发者工具检查响应头,你可以看到页面在Windows-1256编码交付:

Content-Type:text/html;charset=windows-1256 

你能尝试

webClient.DownloadString(webClient, url, Encoding.getEncoding(1256)); 
0

请尝试以下 - 这工作我:

  string url = String.Format("http://www.example.com); 

      WebClient webClient = new WebClient(); 

      webClient.Encoding = System.Text.Encoding.GetEncoding(1256); 


      string result = webClient.DownloadString(url); 
0

这工作对我来说,它返回DAT a从DownloadString作为阿拉伯文字而没有任何阿拉伯文字的变化

WebClient wclient = new WebClient(); 
    wclient.Encoding = Encoding.UTF8; 
    string RSSData = (wclient.DownloadString(RSSURL)); 
+0

你能解释为什么它更好地工作,宣布它适合你吗? – JorgeHortelano