UTF-8인지, EUC-KR인지 판별

검색시 넘어가는 검색어가 "알려주삼" 일때
네이버 - %BE%CB%B7%C1%C1%D6%BB%EF
구글 - %EC%95%8C%EB%A0%A4%EC%A3%BC%EC%82%BC

둘이 다릅니다.

 


문제는 UTF-8로 인코딩된 페이지에 아무런 조작을 가하지 않고 URL로 알려주삼 변수를 넘겼을때 한글이 깨져버립니다. EUC-KR 때는 자연스럽게 알려주삼 글자가 들어갑니다

 


해결책

if(mb_detect_encoding($str) != "UTF-8") {
      $str = iconv("EUC-KR", "UTF-8", $str);
}

 


UTF-8이 아닐경우 euc-kr 을 잡아내지 못하는것 같아서 그냥 무조건 euc-kr로 보고 잡아냅니다.

 

mb_detect_encoding 함수가 인코딩 판별함수

 

iconv 는 인코딩변환 함수



Posted by 탐색시간

댓글을 달아 주세요