我遇到了编码问题。当我获得网站的源代码时,我有:
我像这样将编码设置为 UTF8:
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
string sourceCode = reader.ReadToEnd();
感谢您的帮助!
最佳答案
尝试使用指定的编码:
Encoding encoding;
try
{
encoding = Encoding.GetEncoding(response.CharacterSet);
}
catch (ArgumentException)
{
// Cannot determine encoding, use dafault
encoding = Encoding.UTF8;
}
StreamReader reader = new StreamReader(response.GetResponseStream(), encoding);
string sourceCode = reader.ReadToEnd();
如果您以某种方式接受 gzip,这可能会有所帮助:(我自己还没有尝试过并且承认它没有多大意义,因为您的编码不是 gzip?!)
request.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip,deflate");
request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
关于c# - HttpWebResponse - 编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5755635/