이것때문에 몇시간을 고생을 해서... 기록을 남깁니다.
euc-kr 은 기본적으로 파일 인코딩은 ansi 타입이다
문제는 ajax 로 한글데이터를 넘긴뒤 DB에 기록을 하면, DB에 한글값이 깨져서 등록이 됩니다...
[해결방안]은 넘길 한글데이터를 Ajax로 넘기기전 데이터를 escape 시켜서 데이터를 넘겨야 된다는것 입니다.
물론 ajax를 데이터를 받는 ASP 페이지는 당연히 상단에 아래와 같이 euc-kr 로 설정을 해주셔야 합니다.
<%
Response.CharSet="euc-kr"
Session.codepage="949"
Response.codepage="949"
Response.ContentType="text/html;charset=euc-kr"
%>
그리고 가장 중요한 ajax를 데이터를 넘길때 아래와 같이 한글 부분은 escape 로 감싸서 넘기세요...
$.ajax({
type:"POST",
url:"ajax.asp",
data:"company="+escape("우리소프트")+"&addr="+escape("서울시 강동구 강동구청"),
dataType:"text",
async: "false",
success: function(data){
if (data!='')
{
var obj = $.parseJSON(data);
var txt = "";
console.log(obj);
}
},
error:function(e){
alert("code:"+e.status+"\n"+"message:"+e.responseText+"\n"+"error:"+e.error);
}
});
이런식으로 데이터를 넘기면 깨지지 않고 DB에 잘 등록이 됩니다.
알면 간단한데.... 모르면 개고생을 하니.... 역시 기록을 해둡니다.
'웹관련 > ASP' 카테고리의 다른 글
[ASP] 세션만료시 쿠키도 같이 삭제하기 DateAdd함수 (0) | 2019.08.29 |
---|---|
[ASP] 데이터를 Json형식으로 전송하는 방법 (0) | 2019.08.23 |
[ASP]글자 깨짐으로 인한 인코딩 변환 (0) | 2019.06.11 |
[ASP] 코드실행중 이하의 코드를 실행할 필요가 없는 경우 (0) | 2019.04.17 |
[ASP] 데이터 타입별 데이터 타입 정리 (0) | 2018.11.09 |
댓글