Web Services Rest - Set encoding

Pessoal estou fazendo uma chamada a um serviço rest da seguinte forma

DefaultHttpClient httpClient = new DefaultHttpClient();
			HttpGet getRequest = new HttpGet("http://arcgis/arcgis/rest/services/BaseMap/Localidades/MapServer/0/query?where=1%3D1&geometry=" + longitude + "%2C+" + latitude
					+ "+&geometryType=esriGeometryPoint" + "&spatialRel=esriSpatialRelWithin" + "&outFields=*" + "&returnGeometry=false" + "&f=pjson");
			
			getRequest.addHeader("accept", "application/json");
			HttpResponse response = httpClient.execute(getRequest);
			response.addHeader("Content-Type", "UTF-8");

porem ao receber o json tenho umtrecho que esta retornado o nome de uma cidade da seguinte forma

— INFO — realizaCalculoPercursoGPS: (ponto B) Cidade: BOM JESUS DOS PERDA?ES Lat/Long: -23.12627 -46.45493

Que seria Bom Jesus dos Perdões , tentei colocar o response.addHeader(“Content-Type”, “UTF-8”); mas sem sucesso , alguem teria alguma dica pra me ajudar por favor?

vamos la

Isso ai é o que vc escreveu no log. Talvez vc não tenha especificado o encoding quando vc inicializa o log - veja a documentação

Em segundo lugar: vc tem certeza que a string é UTF8? Existem diversos encodings e charsets, isso não é magica.

De exemplo do request http completo

Opa primeiramente obrigado pela atenção

O request eu passo somente uma Lat/Long -23.126214 -46.455124

vc tem certeza que a string é UTF8? Resp: Não tenho certeza

http://arcgis/arcgis/rest/services/BaseMap/Localidades/MapServer/0/query?where=1%3D1&geometry=-46.455124%2C+-23.126214+&geometryType=esriGeometryPoint&spatialRel=esriSpatialRelWithin&outFields=*&returnGeometry=false&f=pjson

Na resposta do request via Browser até vem certo

Capturar2

Em java 7 vc pode especificaf o encoding do input stream reader assim:

BufferedReader in = new BufferedReader(new InputStreamReader( /* entrada */, StandardCharsets.UTF_8));

Faça um teste

Minha aplicação é Java 6 … mas achei uma outra solução para o Java 6 Charset do java.nio

Charset charset=Charset.forName("UTF-8");
ByteBuffer bb = ByteBuffer.wrap(str.getBytes());
CharBuffer decode = charset.decode(bb);
str = decode.toString();

Agradeço a atenção