c# - HttpWebRequest 的响应不显示 UTF-8 符号

标签 c# utf-8 httpwebrequest utf8-decode

我有从网站获取响应的简单代码,但有一个小问题。我试图从俄罗斯网站和一个我不知道符号的网站获得回复,从其他网站获得正常文本。哪里可能有问题?

回复来自:www.kinopoisk.ru

������ � ����...

回复来自:www.yandex.ru

Греция - Чехия. 1:2...

    HttpWebRequest http = (HttpWebRequest) HttpWebRequest.Create("http://");
    http.Timeout = 30000;
    http.KeepAlive = true;
    http.ContentType = "application/x-www-form-urlencoded";
    http.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0";
    http.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
    http.Proxy = null;

    WebResponse response = http.GetResponse();
    Stream istream = response.GetResponseStream();
    StreamReader reader = new StreamReader(istream);

    Response.Write(reader.ReadToEnd());

    reader.Close();

最佳答案

kinopoisk.ru 被编码为 WINDOWS-1251(您可以在 Content-Type header 中看到它)。

您需要将 Encoding.GetEncoding(1251) 传递给 StreamReader 以对其进行解码。

关于c# - HttpWebRequest 的响应不显示 UTF-8 符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11003288/

相关文章:

c# - 如何正确发出 http web GET 请求

windows - gnuplot:如何获取包含非 ANSI 字符的文件列表?

python - 用python写unicode——这个字符有什么问题

c# - 代码中的 Colgroup 标记但在查看源代码或调试器工具中缺失

c# - 从本地 Web 服务器或网络共享获取文件 - 哪个更好

c - 汉字UTF-8宽度显示问题

c# - 如何: HTTP GET and POST request with parameters in Win 8 modern app using C# and XAML

c# - 从任务中的异步 HttpWebRequest 调用捕获异常

c# - 使用 ProcessInfo 用户名和密码调用 wkhtmltopdf 时无法读取 StandardOutput

c# - 如何在没有 nuget 或 VSIX 的情况下向项目添加自定义代码分析器?