데이터 통합에 사용되는 유틸리티가 있는데 "Ã"와 같은 특수 문자를 사용하면 문제가 발생합니다. 아래는 문제가 발생한 문제의 방법입니다. 응답은 API에서 가져온 것으로 xml 형식입니다.HTTPGet 유니 코드 문자가 응답 문자열에 나타납니다.
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();
}
응답 문자열의 nj_mientill 결과는 njämientill입니다. 인코딩 변경 시도했지만 결과가 동일하게 유지됩니다. 어떤 조언을 주시면 감사하겠습니다.
원격 파티가 응답 헤더를 통해 어떤 문자 인코딩 (있는 경우)을 확인 했습니까? – CBroe
예, 인코딩이 gzip으로 전달됩니다. gzip에 적절한 헤더를 추가하여이 문제를 설명하려고 시도했지만 결과는 동일하게 유지됩니다. – Filiper