티스토리 뷰
한글이 한자로 나올 때가 있다.
인코딩이 깨진거면 이상한 특수문자나 이상한 한글로 표시되는데 한문??
페이지의 charset 은 euc-kr 이고 페이지에서 호출하는 php의 charset 도 euc-kr 인데 왜 깨지는지 몰랐다.
한가지 찝찝한 건 이 페이지는 부모페이지가 있어서 iframe 으로 호출되는 페이진데,
iframe 의 인코딩은 utf-8 이고, 이 iframe 의 상위 부모페이지 또한 utf-8 이라는 것
이유가 무엇이간에 한글이 제대로 안 나오면 보통 iconv 를 이용하는데, => iconv("CP949", "UTF-8", $msg);
이것도 안 먹히는 페이지가 있다.
최후의 방법은 php 에 헤더 추가하기
header("Content-Type:text/html;charset=euc-kr");
php 가 호출되는 html 파일의 인코딩에 따라 euc-kr 혹은 utf-8 을 써준다.
나의 상황은 php 자체에서 alert 띄워서 한글표시하면 잘 나왔고,
$msg 에 값 담아서 html 에서 alert 으로 띄우려고 하면 한자로 표시되는 것이었다.
html 에서 값을 받아 사용하는 경우 웬만하면 header 소스 한줄 추가하는게 안전한걸로!
'개발 TIP' 카테고리의 다른 글
자바스크립트 한글 url or 파라미터 (0) | 2018.06.01 |
---|---|
자바스크립트 팝업 부모창, 메인창 제어하기 (0) | 2018.05.21 |
SVN 소스관리(커밋, 업데이트 파일 받아오기) (0) | 2018.04.09 |
IE 오류해결/ SCRIPT1006 ')'가 필요합니다. (0) | 2017.03.21 |
xcode iOS 10 -1022 에러 해결 (0) | 2017.01.12 |