[기초] 인코딩 문제해결 iconv() > 학습

본문 바로가기

사이트 내 전체검색

443,796명이 방문해 주셨습니다.

[  PHP  ] [기초] 인코딩 문제해결 iconv()

작성일 20-07-23 11:02

페이지 정보

작성자IPFT 조회 352회 댓글 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",값);


댓글목록

등록된 댓글이 없습니다.

Copyright © 소유하신 도메인. All rights reserved.