title: Unicode Characters in HTTP Get request
body: <p>I have a C# REST Webservice exposing the following method:</p>
  
  <pre><code>[OperationContract]
          [WebGet
              (
              BodyStyle = WebMessageBodyStyle.Bare,
              RequestFormat = WebMessageFormat.Xml,
              ResponseFormat = WebMessageFormat.Xml,
              UriTemplate = "/Files?id={ID}"
              )
          ]
          Stream GetFilesForID(string ID);
  </code></pre>
  
  <p>This method fetches the information from database, based on ID specified by user. This ID can have chinese characters in it. </p>
  
  <p>My implementation for the method:</p>
  
  <pre><code>public Stream GetFilesForID(string ID)
  {
      ID = Encoding.UTF8.GetString(Encoding.UTF8.GetBytes(ID));
  
      // and connect to database and
      // stream back the list.
  }
  </code></pre>
  
  <p>"ID" still does not contain chinese characters in it. It looks like: <code>ã³ãã«-å¤ªé</code></p>
  
  <p>I have client code, that is written in C++ and calling this REST Webservice method, using winHTTP library. I have tested this using fiddler too, but i get the same result i.e. chinese characters are showing as weird characters. </p>
  
  <p>If I have a "POST" method, with the request body having unicode characters, my webservice method gets the request body without any problem. I do not even have to do anything like this: <code>Encoding.UTF8.GetString(Encoding.UTF8.GetBytes(requestBody));</code></p>
  
  <p>What am I missing here? Do i need to do anything else before sending the HTTP GET request?</p>