我尝试将字符串的html保存在字符串中。该网站有国际字符(ę,ś,ć,...),即使我将编码设置为UTF-8(对应于网站字符集),它们也不会保存到字符串中。
这是我的代码:
using (WebClient client = new WebClient())
{
client.Encoding = Encoding.UTF8;
string htmlCode = client.DownloadString(http://www.filmweb.pl/Mroczne.Widmo);
}
当我将“htmlCode”打印到控制台时,即使在原始HTML中它们被正确显示,国际字符也无法正确显示。
感谢任何帮助。
答案 0 :(得分:11)
我遇到了同样的问题。似乎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);
}