PHP2006/08/30 09:43



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 는 인코딩변환 함수


출처 : http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_function&wr_id=149076&sca=&sfl=wr_subject%7C%7Cwr_content&stx=mb_detect_encod&sop=and

'PHP' 카테고리의 다른 글

글자의 인코딩 판별(UTF-8인지, EUC-KR인지 판별)  (0) 2006/08/30
php 파싱  (0) 2006/06/03
Posted by 탐색시간

TRACKBACK http://www.seektime.info/trackback/27 관련글 쓰기

댓글을 달아 주세요