title: How can i change charset encoding in HTTP response in Java
body: <p>I have to fetch some JSON object from a remote server and for that i am using this function which is working great except that for sometime some weird data is getting fetched which i believe is because it is using ASCII charset to decode.</p>
  
  <p>Please find below thw method that i am using </p>
  
  <pre><code>public HttpResponse call(String serviceURL,String serviceHost,String namespace,String methodName,String payloadKey, String payloadValue) throws ClientProtocolException,IOException,JSONException
      {
              HttpResponse response = null;
              HttpContext HTTP_CONTEXT = new BasicHttpContext();
              HTTP_CONTEXT.setAttribute(CoreProtocolPNames.USER_AGENT, "Mozilla/5.0");
              HttpPost httppost = new HttpPost(serviceURL);
              httppost.setHeader("User-Agent",Constants.USER_AGENT_BROWSER_FIREFOX);
              httppost.setHeader("Accept", "application/json, text/javascript, */*");
              httppost.setHeader("Accept-Language","en-US,en;q=0.8");
              httppost.setHeader("Content-Encoding", "foo-1.0");
              httppost.setHeader("Content-Type", "application/json; charset=UTF-8");
              httppost.setHeader("X-Requested-With","XMLHttpRequest");
              httppost.setHeader("Host",serviceHost);
              httppost.setHeader("X-Foo-Target", String.format("%s.%s", namespace,methodName));
              /*Making Payload*/
              JSONObject objectForPayload = new JSONObject();
              objectForPayload.put(payloadKey, payloadValue);
              StringEntity stringentity = new StringEntity(objectForPayload.toString());
              httppost.setEntity(stringentity);
              response = client.execute(httppost);
              return response;
  
  
      }
  </code></pre>
  
  <p>All these headers that i am passing are correct and i have verified the same via inspect element in Google chrome or Firebug plugin if you are familiar with Mozilla.</p>
  
  <p>Now the problem is that most of the time i am getting the readable data but sometimes i do get unreadable data.</p>
  
  <p>I debugged using eclipse and noticed that the charset under wrappedEntity is showing as "US-ASCII". I am attaching a jpg for reference<img src="https://i.stack.imgur.com/wPxpL.jpg" alt="enter image description here"></p>
  
  <p>Can someone please tell me how can i change the charset from ASCII to UTF-8 of the response before i do <code>response = client.execute(httppost);</code> .
  PS:As you have noticed that i am passing charset=utf-8 in the header and that i have already verified using firebug and google chrome that i am passing the exact headers .</p>
  
  <p>Please zoom in to see the image more clearly</p>
  
  <p>Thanks in advance </p>