Back/Framework

[SpringFramework] json 사용시 한글 깨짐 해결방안.

RAHM 2016. 1. 25. 10:13

현재 Ajax, json을 사용하고 있다.

Ajax를 이용하여 데이터를 추출 한 후, 화면에 데이터를 출력해줄때

화면에서 한글 데이터들이 물음표(?)로 출력이 된다.


해당 문제점을 해결하기 위해서는

1) RequestMapping 어노테이션의 produces 라는 속성값을 이용하면 된다.

 예시 2가지 - GET방식 / POST방식)

  -> @RequestMapping(value = "URL", method = "RequestMethod.POST", produces = "text/json; charset=UTF-8")

  -> @RequestMapping(value = "URL", method = "RequestMethod.GET", produces = "text/json; charset=UTF-8")


2) 스프링프레임워크의 버전이 3.1 이하 & 위의 방법을 사용하지 못할 때

 -> HttpHeaders 객체와 ResponseEntity<T>객체를 이용한다.

@RequestMapping(value = "URL", method = RequestMethod.POST)
@ResponseBody
public ResponseEntity<String> TestMethod(

@RequestParam(value="파라미터명", 기타 속성 = 속성값) 파라미터 ...

)throws 익셉션클래스 {


String jsonStr = "[]";
ArrayList<VO객체> dataList = new ArrayList<VO객체>;

dataList = 서비스객체.DAO메소드(파라미터);
jsonStr = new Gson().toJson(list);
HttpHeaders resHeader = new HttpHeaders();
resHeader.add("Content-Type", "application/json;charset=UTF-8");
return new ResponseEntity<String>(jsonStr, resHeader, HttpStatus.CREATED);

}