HttpPost with StringEntity having special characters like ®, seeing ¿½` instead of ®

apache-httpclient-4.x, character-encoding, java

Solution

Change to:

    HttpEntity entity = new StringEntity("test®", "UTF-8"); 

Problem

I need to use special characters for `stringentity` as below. ``` DefaultHttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(url); HttpEntity entity = new StringEntity("test®"); httpPost.setEntity(entity); httpPost.setHeader("Accept-Encoding", "UTF-8"); HttpResponse response = httpClient.execute(httpPost); BufferedReader reader = new BufferedReader(new InputStreamReader((response.getEntity().getContent()))); while ((reader.readLine()) != null) { System.out.println (reader.readLine()); } reader.close(); ``` The output contains `test�` instead of `test®` in the response.

Original source