C# 使用WebClient阅读阿拉伯语文本

C# 使用WebClient阅读阿拉伯语文本,c#,webclient,arabic,C#,Webclient,Arabic,我试图使用webclient从页面获取文本,但阿拉伯语文本显示不正确。我已使用以下url尝试了以下代码=: 测试1: WebClient webClient = new WebClient(); Stream s = webClient.OpenRead(urlLink); StreamReader sr = new StreamReader(s); 测试2: String utf8 = webClient.DownloadString(webClient, url, Encoding.

我试图使用webclient从页面获取文本,但阿拉伯语文本显示不正确。我已使用以下url尝试了以下代码=:

测试1:

WebClient webClient = new WebClient();
Stream  s =   webClient.OpenRead(urlLink);
StreamReader sr = new StreamReader(s);
测试2:

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

������ ����� ����� ������ ������ - 埃尔纳什拉


在浏览器中打开URL并使用开发人员工具检查响应标题时,可以看到该页面以Windows-1256编码传递:

Content-Type:text/html;charset=windows-1256
你能试试吗

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

尝试以下方法-这对我很有用:

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

            WebClient webClient = new WebClient();

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


            string result = webClient.DownloadString(url);

这对我来说是可行的,它以阿拉伯语文本的形式返回下载字符串中的数据,而不改变阿拉伯语文本

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

你能解释为什么宣布它对你有效会更好吗?