2016/09/27 09:48

[Spring] Spring @responsebody 한글 깨짐 코딩모음

AJAX eModal.ajax 전송시 한글파라메터가 깨지는현상


<스크립트 호출부에는 아래와 같이 전송한다>
<script type="text/javascript">
encodeURI(searchValue);
</script>

======================================
스프링 3.1 이하
======================================
- 리턴을 ResponseEntity 타입으로 함
- 헤더에 캐릭터셋을 설정해서 보냄

@RequestMapping("/ajax")
@ResponseBody
public ResponseEntity handleAJAX() {
   
    ....로직....

    HttpHeaders responseHeaders = new HttpHeaders();
    responseHeaders.add("Content-Type", "text/html; charset=utf-8");
    return new ResponseEntity("한글", responseHeaders, HttpStatus.CREATED);
}



======================================
스프링 3.2 이상
======================================
- @RequestMapping의 produces 옵션이 생겨 좀 더 쉽게 적용 가능함

@RequestMapping(value = "/ajax", produces = "application/json; charset=utf8")
public String handleAJAX() {
   
    ....로직....
   
    return "한글"
}







안되면 WEB.xml과 tomcat의 server.xml쪽도 수정해줘야한다.

<init-param>
     <param-name>encoding</param-name>
     <param-value>UTF-8</param-value>
</init-param>



덧글

댓글 입력 영역