내
용 |
쏜다넷 웹연동서비스의 캐릭터셋은 euc-kr 입니다.
UTF-8 캐릭터셋을 사용중인 문서에서 별도의 설정없이 한글메세지를 전송하면 한글이 깨집니다.
또한 브라우저에 따라 캐릭터셋을 변경하는 방법이 달라 일부만 지원할 경우
특정 브라우저 사용자만 한글이 깨지는 경우가 발생할 수 있습니다.
아래와 같이 폼과 스크립트에 euc-kr 설정을 추가하신 후 이용하시면 한글 깨짐현상을 방지할 수 있습니다.
------------------------------
1. 폼 엘리먼트에 accept-charset 속성을 추가하고 캐릭터셋 값을 설정한다.
예) accept-charset="euc-kr"
2. 스크립트에서 폼 서브밋을 보내기 전, 캐릭터셋을 euc-kr로 변경해준다.
IE) document.charset = "euc-kr";
Chrome 등) document.characterSet = 'euc-kr';
3. 폼 서브밋 후에 캐릭터셋을 원래 값으로 되돌린다.
캐릭터셋을 변경 시, 히스토리 변경(앞으로 가기/뒤로 가기) 후에도 변경한 캐릭터셋이 남아있는 문제가 있다.
이를 해결하기 위해 폼 전송 후 document.charset을 원래대로 복구해줘야 한다.
※ document.charset 은 IE 전용이므로 Chrome 등 다른 브라우저 사용자들을 위해 예외처리가 필요합니다.
------------------------------
**** 폼 샘플 ****
<form name="smsform" action="" method="post" target="smsIframe" accept-charset="EUC-KR">
...
</form>
**** 스크립트 샘플 ****
<script type="text/javascript">
function sendSMS(){
try{
document.charset = "euc-kr";
}catch(ex){
document.characterSet = 'euc-kr';
}
document.smsform.submit();
try{
document.charset = "UTF-8";
}catch(ex){
document.characterSet = 'UTF-8';
}
}
</script>
|