title: Android Retrofit api call with space in parameter
body: <p>I am trying to make an API call using Retrofit 1.x:</p>
  
  <pre><code>@POST("/test?api-version=1.0")
  void createMyStuff(
          @Header("X-Signature") String authorization,
          @Query(value="nickname") String nickname,
          @Query("language") String language,
          Callback&lt;MyAPIResponse&gt; cb);
  </code></pre>
  
  <p><strong>the issue</strong> is :  nickname can have spaces in it. 
     So, before make the call,  if nickname is "John  Doe" (two spaces),  I replace space in it and send it like :  "John%20%20Doe" in the API call.</p>
  
  <p>It fails with 400, Bad request.</p>
  
  <p>The URL reported in the errorResponse object is :
      https://.com/foo/test?nickname=john%2520%2520doe&amp;language=en-US  </p>
  
  <p>Notice that the %20 is replaced by  %2520</p>
  
  <p><strong>What I investigated</strong> : there isn't a definite answer. Someone on SO suggested in a thread to use FunName(value="apiname",encodeValue=true)
   But the encodeValue isn't resolving.  </p>
  
  <p>I also tried encoding with UTF-8 and it doesnt work. I am not sure about URL encoding since this is not really URL and will be only part of it.  </p>
  
  <p>Appreciate any help.</p>