요즘에는 대부분의 개발환경이 UTF-8로 되어 있어서 나와 같은 문제를 겪는 분들이 많지 않겠지만.
유지보수나 부득이하게 MS949환경에서 개발을 하다보면 jQuery $.ajax를 사용하는 과정에서 데이타를 한글로 전송하면 한글이 깨지는 문제가 있다.
$.ajax({
url: 'blahblah.com',
type: 'post',
data: $('#form).serialize(),
dataType: 'html',
contentType: "application/x-www-form-urlencoded; charset=MS949",
error: function(data) {
alert('문제가 발생하였습니다.\n다시 시도해 주시기 바랍니다.');
},
success: function(data) {
//do something
}
});
위 코드는 $.ajax를 호출하는 javascript인데 6번째 줄 contentType을 추가함으로써 한글이 깨지지 않게 전송할 수 있다.
중요한 건 그렇다고 한글 값을 그대로 넘기면 안 된다.
넘기려는 한글 값을 encodeURIComponent(한글값)으로 설정하여 보내야 한다.
이렇게 보내진 값은 java code 에서
String decodedVal = URLDecoder.decode(hangulVal, “UTF-8”);
이렇게 변환하여 이용하면 된다.
UTF-8보다 상당히 번거롭지만 이렇게라도 사용할 수 있다는 것
[출처] [ajax] 한글깨짐시 방법|작성자 mrb18bae
'웹관련 > Ajax' 카테고리의 다른 글
[Ajax] Ajax에서 데이터 불러올때 엔터값으로 발생한 에러 해결방안 (0) | 2018.11.05 |
---|---|
[Ajax] Xml 데이터 끌고오기 (0) | 2018.09.12 |
[Ajax] Ajax에서 사용하는 json 에 대하여 (0) | 2017.10.30 |
[Ajax] 엑셀에서 xml 데이터 변환뒤 ajax로 파일 읽어오기 (0) | 2017.04.21 |
[Ajax] 로딩바 구현 (0) | 2016.09.23 |
댓글