title: HttpClient FormUrlEncodedContent Encoding
body: <p>I'm using the HttpClient.  I'm posting with web form parameters.  One of the values (not name) is a foreign Swedish character ö ,  #246; ö ASCII: Latin Small Letter O Umlaut</p>
  
  <p>Manually, IE, Firefox and Chrome all convert this character to S%F6k and everything works fine.  However VS 2012 C# release converts it (via FormUrlEncodedContent(dict)) to %C3%B6</p>
  
  <p>Is there a way to tell VS 2012 to convert it, to the friendly S%F6k (and still use HttpClient)?</p>
  
  <p>I've attached most of the code, which may help others (cookies, proxy, etc...)</p>
  
  <pre><code>// Create Handler
  var handler = new HttpClientHandler();
  
  // Cookies
  var cc = new CookieContainer();
  handler.CookieContainer = cc;
  
  // Proxy - for fiddler
  WebProxy proxy = new WebProxy();
  proxy.Address = new Uri("http://localhost:8888");
  handler.Proxy = proxy;
  
  // Create the client
  var client = new HttpClient(handler);
  
  var request4 = new HttpRequestMessage();
  
  client.DefaultRequestHeaders.Clear();
  client.DefaultRequestHeaders.Add("Accept", "text/html, application/xhtml+xml, */*");
  client.DefaultRequestHeaders.Add("Accept-Encoding", "gzip, deflate");
  client.DefaultRequestHeaders.Add("Accept-Language", "en-US,en;q=0.8,sv-SE;q=0.5,sv;q=0.3");
  client.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)");
  
  // Form Data
  var dict4 = new Dictionary&lt;string, string&gt;
  {
      { "page", "kantlista" },
      { "kod", "A0004n" },
      { "termin", "H12" },
      { "anmkod", "17113" },
      { "urval", "ant" },
      { "listVal", "namn" },
      { "method", "Sök" } // S%F6k
  }; // dict
  
  request4.Content = new FormUrlEncodedContent(dict4);
  
  var value4 = new FormUrlEncodedContent(dict4);
  string uri4 = "https://www.ltu.se/ideal/ListaKursant.do";
  var response4 = await client.PostAsync(uri4, value4);
  response4.Headers.Add("Cache-Control", "no-cache")
  response4.EnsureSuccessStatusCode();
  string responseBody4 = await response4.Content.ReadAsStringAsync();
  </code></pre>