WebClient DownloadString UTF-8 不显示国际字符

WebClient DownloadString UTF-8 not displaying international characters

我试图将网站的 html 保存在字符串中。该网站有国际字符(ę、ś、ć、...),即使我将编码设置为与网站字符集相对应的 UTF-8,它们也不会保存到字符串中。

这是我的代码:

using (WebClient client = new WebClient())
{
    client.Encoding = Encoding.UTF8;
    string htmlCode = client.DownloadString("http://www.filmweb.pl/Mroczne.Widmo");
}

当我在控制台上打印“html代码”时,国际字符没有正确显示,即使在原始 HTML 中它们是正确显示的。

感谢任何帮助。

我遇到了同样的问题。 client.DownloadString 似乎没有使用 UTF-8 编码字符。使用 client.DownloadData 并用 Encoding.UTF8.GetString 编码返回的数据解决问题。

using (WebClient client = new WebClient())
{
     var htmlData = client.DownloadData("http://www.filmweb.pl/Mroczne.Widmo");
     var htmlCode = Encoding.UTF8.GetString(htmlData);
}

你做得很辛苦。 WebClient上有一个Encoding属性,可以设置为Encoding.UTF8