title: Error 500 for UTF32, not for UTF8 in MVC
body: <p>In my MVC web application, I am calling a POST to a specific controller through a WebClient. I need this call to be in UTF32. However, whenever I do this with UTF32 it doesn't work. It returns an error 500. When I switch to UTF8, it works just fine.</p>
  
  <p>Here's my UTF32 code:</p>
  
  <pre><code>var name = SettingsManager.GetScopeAttribute("[Map.Options]", "Name");
  
  using (var client = new WebClient())
  {
    //client.Encoding = Encoding.UTF8; 
    client.Headers.Add("Content-Type", 
                       "application/x-www-form-urlencoded; charset=utf-32");
    client.UploadData(url, Encoding.UTF32.GetBytes("facebookID=" 
      + IngamableCommunicator.FacebookProfileID 
      + "&amp;name=" 
      + name 
      + "&amp;content=" 
      + File.ReadAllText(mapPath)));
  }
  </code></pre>
  
  <p>The server reports this issue:</p>
  
  <blockquote>
    <p>The parameters dictionary contains a null entry for parameter 'facebookID' of non-nullable type 'System.Int32' for method 'System.Web.Mvc.ActionResult SubmitMap(Int32, System.String, System.String)' in 'FlamefusionEntertainment.Areas.Scavenius.Controllers.MapCloudController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter.</p>
  </blockquote>
  
  <p>The problem I am having with UTF8 is that when the data actually goes through, since I have characters (invisible spaces etc) that are special, it goes wrong when saved in the Microsoft SQL database through Entity Framework.</p>
  
  <p>The data I retrieve is somehow malformed. Some newlines are missing, some whitespaces aren't there, and so on.</p>