본문 바로가기
JavaScript, jQuery, Java

JavaScript(ajax) 에서 java 로 변수 보낼때 한글 깨짐

by 보리하늘 2017. 12. 20.
728x90
반응형

response.setContentType("text/html; charset=UTF-8");
request.setCharacterEncoding("UTF-8");

String query = (String)request.getParameter("query");


받는 쪽에서 이것저것 다해봤지만 해결되지 않음.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$(".Btn a").click(function(){
    if($(this).text() == '건수 조회'){
        $('#FL span').html(query_head+" "+query_back);
        data = {query : query_send+" "+query_back};
        $.ajax({
            type: 'get',
            dataType: 'json',
            url: '/common/attResultXml.do',
            data: data,
            success: function(data) {
                $("#FR").html(data.attQList[0].VAL+" 건 ");
            },
            error: function(xhr, status, error) {
                alert(status);
            }
        });
    }
});
cs





js 파일에서 컨트롤러.java 로 json 데이터를 보낸다.


한글이 깨져서 제대로 동작하지 않을때,

new String(request.getParameter("query").getBytes("8859_1"), "UTF-8");

을 이용한다.




1
2
3
4
5
6
7
8
9
@RequestMapping(value = "/common/attResultXml.do")
public String attResultXml(ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {            
    CodeVO cv = new CodeVO();    
    String query = new String(request.getParameter("query").getBytes("8859_1"), "UTF-8");    
    cv.setQUERY(query);    
    List attQList = commonService.selectAttResult(cv);    
    model.addAttribute("attQList", attQList);                
    return "jsonView";
}
cs


728x90
반응형

댓글