Ich habe ein Dienstprogramm für die Integration von Daten und ein Problem aufgetreten, wenn Sonderzeichen wie "Ã" verwendet werden. Unten ist die fragliche Methode, wo das Problem auftritt. Die Antwort stammt von einer API und ist im XML-Format.HTTPGet Unicode-Zeichen in Antwort String
protected String getStringHttpContent(URI url, Map<String,String> headerParameters) throws IOException
{
HttpGet request = new HttpGet(url);
for(String parameter : headerParameters.keySet())
request.setHeader(parameter, headerParameters.get(parameter));
CloseableHttpResponse response = getClient().execute(request);
dumpHeaders(response);
BufferedReader br = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8"));
StringBuffer sb = new StringBuffer();
String output;
while ((output = br.readLine()) != null) {
sb.append(output);
}
response.close();
return sb.toString();
}
Das Ergebnis von njìmientill in der Antwortzeichenfolge ist njämientill. Ich habe versucht, die Codierung zu ändern, aber das Ergebnis bleibt gleich. Jeder Rat würde geschätzt werden.
Haben Sie überprüft, welche Zeichencodierung - falls vorhanden - die Gegenstelle über die Antwort-Header anzeigt? – CBroe
Ja, die Kodierung kommt als gzip. Ich habe versucht, dies zu berücksichtigen, indem ich die entsprechende Kopfzeile für gzip hinzufüge, aber das Ergebnis bleibt gleich. – Filiper