sitelink1 | |
---|---|
sitelink2 | |
sitelink3 | |
sitelink4 | |
sitelink5 | |
sitelink6 |
Spring 의 REST-API 를 이용하여 JSON-RPC 를 구현중에 한글이 깨지는 현상이 발생했다
String answer = restTemplate.postForObject(url, entity, String.class);
의 코드로 answer 를 받아와서 System.out.println(answer) 를 출력해보면
한글의 출력형태가 다음과 같았다
\uac00\ub098\ub2e4\ub77c\ub9c8\ubc14\uc0ac \uac00\ub098\ub2e4\ub77c\ub9c8\ubc14\uc0ac \uac00\ub098\ub2e4\ub77c\ub9c8\ubc14\uc0ac HOME \ubaa8\ubc14\uc77c
charset 이 잘못된 형태는 아니고 encode, decode 문제라고 여겨졌으나 URLDecoder 로도 원래대로 돌아오지 않아 수시간을 헤맸다
StringHttpMessageConverter 가 디폴트 캐릭터셋이 ISO-8859-1 이라길래
MimeUtility.decodeText(answer);
도 해보고 안되서
혹시 ISO-8859 인가 싶어서
String a1 = new String(a1.getBytes("ISO-8859-1"),"UTF-8");
로 해보기도 하고
아니면 MS949 인가 싶어서
String a2 = new String(a1.getBytes("MS949"),"UTF-8");
도 해봤지만 실패했다
결국 해결은 했는데
너무나 허무하다
JSONParser parser = new JSONParser();
Object obj = parser.parse(answer);
JSONObject jsonObject =(JSONObject) obj;
System.out.println(jsonObject.toJSONString());
그냥 JSONParser 로 parse만 하면 되는거였다