title: Cant find correct encoding when reading contents of HTTP response
body: <p>I have this code that reads gzipped response from a url:</p>
  
  <pre><code>using (var webClient = new WebClient() { Encoding = Encoding.UTF8, Proxy = new WebProxy() }) 
  {
      webClient.Headers.Add("Accept: application/json, text/javascript, */*; q=0.01");
      webClient.Headers.Add("Accept-Encoding: gzip, deflate, sdch");
      webClient.Headers.Add("Accept-Language: en-US,en;q=0.8,ru;q=0.6");
  
      webClient.Headers.Add("Cookie: ...");
  
      using (var responseStream = new GZipStream(webClient.OpenRead(url), CompressionMode.Decompress))
      {
          using (var reader = new StreamReader(responseStream, Encoding.UTF8))
          {
              var textResponse = reader.ReadToEnd();
          }
      }
  }
  </code></pre>
  
  <p>but when I peek inside textResponse variable, it has characters like this <code>\u0411\u0435\u043b\u043e\u0440\u0443\u0441\u0441\u043a\u0430\u044f</code>. <br />
  What did I do wrong here? Constructing <code>StreamReader</code> without encoding parameter didn't help either.
  The problem is - the server does <strong>NOT</strong> send back <code>Content-Type</code> response header, so I can't really tell what encoding the response have.
  <br />
  P.S. HttpWebRequest have the same problem</p>