[ PHP ] [기초] 인코딩 문제해결 iconv()
작성일 20-07-23 11:02
페이지 정보
작성자IPFT 조회 239회 댓글 0건본문
제일 소소하고 잡기 까다로운게 인코딩이다.
알수없는 상용문자와 싸울때는 항상 답답하다.
이 답답함을 많이 경험해본 나 !!!!
큰 노하우는 아니지만 알고있어도 다시한번 확인할 사항들
1. 상단 meta 태그 확인하기
- 전체 프로젝트가 EUC-KR로 되어있다면 <meta charset="euc-kr"> 또한 EUC-KR로 처리되어야한다.
반대로 UTF-8이라면 <meta charset="utf-8"> 당연히 UTF-8로 처리되면된다.
2. 저장된 파일 인코딩 확인
- 파일 저장시에 무조건 Ctrl + S를 누르면 안된다. 막쓰는 메모장도 인코딩을 지정 가능하도록 되어있다.
meta로 100번 utf-8을 지정해두어도 파일 인코딩이 euc-kr이면 거의 100% 글자가 깨진다.
때문에 저장할때 파일이름 하단에 인코딩 이라는곳을 꼭 확인해봐야한다.
3. 외부에서 파라미터로 넘어오는 값
- 이때는 참 난감하다 이미 개발된곳에 추가 개발을 하는경우 많이 발생하는데 외부 api를 불러올때 자주 발생하곤한다.
나는 utf-8로 전체를 개발했지만, 넘어오는 값은 euc-kr로 넘어온다면 명확하게 값을 받지 못한다.
이럴때는 PHP기준으로 header 를 선언 해주던가 아니면 iconv()로 들어오는 값들을 감싸주면 거의 해결이 된다.
- header("Content-Type:text/html;charset=UTF-8");
- header("Content-Type:text/html;charset=euc-kr");
- euc-kr -> utf-8
iconv("euc-kr","utf-8",값);
- utf-8 -> euc-kr
iconv("utf-8","euc-kr",값);
댓글목록
등록된 댓글이 없습니다.