♣ Tech & Biz Salon/Tech

jquery getJson 한글 깨짐 처리

TasteGod 2012. 11. 1. 12:12

jquery getJson 에서 파라미터 한글값일때 서버에서 한글깨짐 현상에 대한 해결책입니다. 

좋은 정보라 스크랩해둡니다.

출처 : http://blog.naver.com/foenix/40087787191


- 현재환경

1. server.xml Connector : URIEncoding="euc-kr"  -> 겟방식 파라메터 euc-kr 설정상태

 

2. 뷰페이지 <%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> -> 마찬가지로 euc-kr상태

 

3. web.xml에 euc-kr필터. 이상 1,2,3번으로 파라메터가 풀 euc-kr상태.

 

4. 삽질했던 구문 : 파라메터를 json형식({param1:"최경준", param2:"바보"})으로 줘서 보내려고 시도함.

 $.getJSON("snippet_jquery_ajax_json_nodeco.html", {param1:"최경준", param2:"바보"}, function(json){ });

 

5. 헤결한 구문. 그냥 파라메터를 문자열로 넣으니까 되더라.. -_-; 아 조훌라 허탈... 젠장 지금 몇시야..

 $.getJSON("snippet_jquery_ajax_json_nodeco.html", "param1=최경준&param2=천재", function(json){ });

 

그런데 이것은 반쪽짜리 해결방법이다.

JSON형으로 파라메터를 실어 보낼수도 없고, post방식으로는 위와 같이 파라메터를 풀어서  보내도 무조건 깨지기 때문이다.

일단 완벽한 해결은 보류하고, 차후 연구해볼 것.

 

6. 같은 회사의 민철씨가 encodeURIComponent+URLDecoder로 한방에 해결책을 내놓음. 그는 천재인가!!!

jquery쪽에서 {param1:encodeURIComponent("최경준")}식으로 파라메터를 날림.

받는쪽에서는 파라메터를 받아 URLDecoder.decode(param1,"UTF-8")으로 재처리함.

 

개발환경을 UTF-8로 전부 통일하면 이런걸로 안 해매도 될 날이 올지 모른다...