페이지에서 사용된 문자열 인코딩 체크하기 확인하기 > PHP

본문 바로가기

사이트 내 전체검색

뒤로가기 PHP

페이지에서 사용된 문자열 인코딩 체크하기 확인하기

페이지 정보

작성자 최고관리자 작성일 21-02-09 11:53 조회 10,178 댓글 0

본문

// 문자셋 확인
function detectEncoding($str)
 {
        $encodingSet = array('UTF-8','EUC-KR','CP949');
        foreach ($encodingSet as $v) {
                $tmp = iconv($v, $v, $str);
                if (md5($tmp) == md5($str)) return $v;
        }
        return false;
 }

 $str = detectEncoding($msg1);
 echo "<script> alert(\"$str\");</script>";

 // 문자셋 확인
mb_detect_encoding($str);  (--enable-mbstring  옵션 넣고 php 컴파일 한경우)

 // 문자를 utf-8 로 변경하기
function change_to_utf($utfStr) {
  if (iconv("UTF-8","UTF-8",$utfStr) == $utfStr) {
    return $utfStr;
  }
  else {
    return iconv("CP949","UTF-8",$utfStr);
  }
 }



 #########  참고 : http://bloodguy.tistory.com/291
 [PHP] 문자열 인코딩 체크방법


// 인코딩을 알아내는 함수
// _________________________________________________________________
function detectEncoding($str, $encodingSet)
 {
        foreach ($encodingSet as $v) {
                $tmp = iconv($v, $v, $str);
                if (md5($tmp) == md5($str)) return $v;
        }
        return false;
 }

 // 인코딩을 체크해서 EUC-KR일 경우 UTF-8로 변환
// _________________________________________________________________
function changeCharset(&$item, $key)
 {
        if (is_string($item)==true) {
                $encoding = array('UTF-8');
                if (detectEncoding($item, $encoding)!='UTF-8') $item = iconv('EUC-KR', 'UTF-8', $item);
        }
 }

 // dokuwiki 에서 한글을 제대로 지원하기 위해서 (백충덕, 2009-06-18)
 array_walk_recursive($_GET, "changeCharset");
 array_walk_recursive($_POST, "changeCharset");




 #############  참고
http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=51310&page=1&sfl=&stx=&spt=&page=1&cwin=#c_51473


 /**
 * UTF-8=>한글 코드페이지[949]로 변환  AJAX에서 유니코드 문자 오류
*/
function utf8_euckr(&$item, $key, $prefix = ''){
    if(is_array($item)) array_walk($item, 'utf8_euckr');
    else $item=iconv('UTF-8', 'CP949',$item);
 }
 /**
 * 한글 코드페이지[949] => UTF-8로 변환  AJAX에서 유니코드 문자 오류
*/
function euckr_utf8(&$item, $key, $prefix = ''){
    if(is_array($item)) array_walk($item, 'euckr_utf8');
    else $item=iconv('CP949', 'UTF-8',$item);
 }
 /**
 * 입력값
*/
 @array_walk($_POST, 'utf8_euckr');

 /**
 * 결과값 변환
*/
 @array_walk($Result, 'euckr_utf8');

댓글목록 0

등록된 댓글이 없습니다.

Copyright © beautipia.co.kr. All rights reserved.

contact : webmaster@beautipia.co.kr

PC 버전으로 보기