Make sure the encoding of your strings is consistent from client to server and back again. In your case of course the servers response (rdf-strings) is most important (encoding serveside, decoding in your client code).
One thing concerning the client code you posted : You are using the one argument constructor of InputStreamReader in this line:
BufferedReader reader = new BufferedReader(new InputStreamReader(respEnt.getContent()));
It will read from the inputstream using the VM (and systems) default charset, so the outcome will depend on the machine/VM you are running your client application on. Try explicitly setting the charset using this constructor
new InputStreamReader(url.openStream(), "UTF-8")
See also API-doc.
Search your code for more uses of the one argument constructor of both InputStreamReader and OutputStreamWriter, which also uses the default encoding.
If you have no control over the server code (the webservice implementation), you can try to find out the answers charset like this:
Header contentType = response.getFirstHeader("Content-Type");
String charset= contentType.getValue();
(This is from the apache HttpClient API you seem to be using). see also this Q on SO.