.NET WebClient抓取文本错误吗?

.NET WebClient抓取文本错误吗?,.net,webclient,.net,Webclient,我以为我搞定了这件事。然后我意识到我没有正确地保存/解析一些文本 (对不起,我不知道上面写的是什么,是随机用户写的) 下面是简单的测试代码。基本上,我为utf-8Unicode编写BOM并编写源代码。这不起作用,出于理智的原因,我尝试直接保存文件(第二段代码)。两者都在文件中得到了错误的文本,并使用多个浏览器显示了错误的文本 为什么以及如何修复它 注意:在我的第一个代码中,我可以看到sz使用visual Studio持有相同的错误文本 using System; using System.IO;

我以为我搞定了这件事。然后我意识到我没有正确地保存/解析一些文本

(对不起,我不知道上面写的是什么,是随机用户写的)

下面是简单的测试代码。基本上,我为utf-8Unicode编写BOM并编写源代码。这不起作用,出于理智的原因,我尝试直接保存文件(第二段代码)。两者都在文件中得到了错误的文本,并使用多个浏览器显示了错误的文本

为什么以及如何修复它

注意:在我的第一个代码中,我可以看到sz使用visual Studio持有相同的错误文本

using System;
using System.IO;
using System.Net;
using System.Text;

namespace unicode_stuff
{
    class Program
    {
        static void Main(string[] args)
        {
            var wc = new WebClient();
            var fn = "out.html";
            var sw = new StreamWriter(fn, false, Encoding.UTF8);
            var sz = wc.DownloadString("http://www.pastie.org/pastes/1703099/text");
            sw.WriteLine(sz);
            sw.Close();
        }
    }
}
第二

using System;
using System.IO;
using System.Net;

namespace unicode_stuff
{
    class Program
    {
        static void Main(string[] args)
        {
            var wc = new WebClient();
            var fn = "out.html";
            wc.DownloadFile("http://www.pastie.org/pastes/1703099/text", fn);
        }
    }
}

加载之前,请尝试将编码设置为UTF8:

wc.Encoding = System.Text.Encoding.UTF8;