하얀늑대 :: 하얀늑대의 일상
bloghome Tags |  Guestbook | 
  Tags
똥침걸 주몽 생일 textarea 재고 위키 창업 서버 윈도우 강아지 따뜻한 세상 블로그 server IT 박지성 소스 중국 안드로이드 웹2.0 요가
banner
하얀늑대 ::
하얀늑대의 일상

Google
내블로그에서 검색
 하얀늑대는?
 Category
allow  모두보기 (275)
spacespace Today Story's (11)
spacespace 핫이슈 (19)
spacespace 디카질 (4)
spacespace Javascript (15)
spacespace 2000 server (9)
spacespace 2003 server (3)
spacespace 리눅스 (3)
spacespace UCC (6)
spacespace 컴퓨터 Tip (15)
spacespace IT news (65)
spacespace 웹 접근성 (3)
 Tags
iframe 혈액형 서버 김정일 역발상 AB형 php 듀얼모니터 타겟층 엠파스 재테크 벤치마킹 카운터 항문 XP 핸드폰 textarea 선거 쇼핑몰 Flex
  Calendar
<< 2012 May >>
S M T W T F S
29 30 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 1 2
 New Post
line 중국 오픈마켓 시장 진출
line 중국 오픈마켓 시장 진출
line 중국 인터넷 시장의 국제화
line 중국 인터넷 쇼핑몰 시장의
line 중국 인터넷, 바이러스 마
 New Comment
lineselee2000 : 10/10/27
reply멋진데요.
line클럽4242 : 10/08/26
reply사랑에상처는 사랑으로 치
linesusanna : 08/11/07
replyhey,find <a href=http:
line하얀늑대 : 08/05/22
reply위에 페이지는 한페이지 내
line아아아 : 08/04/26
reply개새끼는너야
 New Tracbacks
lineWeb 1.0 과 Web 2.0
line06/11/18
line괴물 - 2006. 7. 28.
line06/07/29
 New Archive
2011 April (13)
2011 March (2)
2011 January (1)
2010 December (1)
2010 November (1)
...more
  Link Site
올블로그
KOON
태터툴즈
엑스파이더
심프로그
디지털예보
thesimplog.com
feed rss
 Visitor Statistics
Total  :  336637
Today :  56
Yesterday :  90


 Google



blog bar tagsbar guest loginbarlogoutbarX-inbar
line utf-8을 euc-kr로 변환하기
PHP 프로그래밍 | 06/05/29 | 하얀늑대

# PHP 코드를 이용한 변환방법

 

<?
function ChkCng2UTF($utfStr) {
  if (iconv("UTF-8","UTF-8",$utfStr) == $utfStr) {
    return $utfStr;
  }
  else {
    return iconv("EUC-KR","UTF-8",$utfStr);
  }
}

 

function iconv_to_euc_kr($get_data) {
  $work_unit = 50;

  $init_size = strlen($get_data);

  $result_data = "";

  $count = 0;

  for ( $i = 0 ; $i < $init_size ; $i++ ) {
    $cur_char = substr($get_data,$i,1);

    $t = ord($cur_char);
    if ( $t == 9 || $t == 10 || (32 <= $t && $t <= 126) ) {
      $tn = 1;
    }
    else if ( 194 <= $t && $t <= 223 ) {
      $tn = 2;
    }
    else if ( 224 <= $t && $t < 239 ) {
      $tn = 3;
    }
    else if ( 240 <= $t && $t <= 247 ) {
      $tn = 4;
    }
    else if ( 248 <= $t && $t <= 251 ) {
      $tn = 5;
    }
    else if ( $t == 252 || $t == 253 ) {
      $tn = 6;
    }
    else {
      $tn = 1;
    }

    if ( $work_unit < $tn ) {
      break;
    }

    if ( $count + $tn > $work_unit ) {
      $temp_data = iconv("utf-8","euc-kr",$work_string);
      $result_data .= $temp_data;

      $work_string = "";
      $i--;
      $count = 0;
    }
    else {
      for ( $j = 0 ; $j < $tn ; $j++ ) {
        $work_string .= $cur_char;
        $i++;
        $count++;
        $cur_char = substr($get_data,$i,1);
      }
      $i--;
    }
  }

  if ( $work_string ) {
    $temp_data = iconv("utf-8","euc-kr",$work_string);
    $result_data .= $temp_data;
  }

  return $result_data;
}

 

# UTF-8 문자 혹은 EUC-KR 문자

# 아래에 있는것처럼 UTF-8 문자를 올렸는데 웹에 표출될때 깨져버리는군요!!

# 적절한 UTF-8 문자를 $str 변수에 넣어서 테스트 해보세요!!

$str = "EBS 媛뺤쓽???????숈뒿怨꾪쉷?쒕굹 湲곗텧臾몄젣, 紐⑥쓽?됯?臾몄젣 ?깆쓣 ?살쑝?쒕젮硫?";
$str1 = "험난한 이 세상 한점 부끄럼없이 화통하게 웃으면서 즐겁게 살아보자!! - 화무십일홍 권불십년";

 

# 일단 무조건 UTF-8로 변환한다.
$utfStr = ChkCng2UTF($str);
$utfStr1 = ChkCng2UTF($str1);

 

# 변환된 UTF-8을 EUC-KR로 변환한다.
$krStr = iconv_to_euc_kr($utfStr);
$krStr1 = iconv_to_euc_kr($utfStr1);

 

# DISPLAY 확인
echo "
  # 입력 문자열(UTf-8): $str<br>
  # UTF-8 문자열: $utfStr<br><br>
  # 변환된 문자열: $krStr<br><br>
  ######################################<br><br>
  # 입력 문자열(EUC-KR): $str1<br>
  # UTF-8 문자열: $utfStr1<br><br>
  # 변환된 문자열: $krStr1<br><br>";

?>
===========================================================================================

# PHP 코드 + 자바스크립트를 이용한 변환방법

<?

function write($str,$encode=0) { 
  if ($encode) $str=rawurlencode ($str); 
  echo '<script>echo("'.$str.'",'.$encode.')</script>';
}
?>
<script>
function echo(str,decode) { 
  if(decode) str=decodeURIComponent(str); 
  document.write(str);
}
</script>


<!--출력 예제-->
<?=write('가나다')?>
<?=write('肄붾뱶 肄붾뱶',1)?>


태그: utf-8
bullet관련글0 | 댓글0
Name :   Pass :  URL :
비밀글로 등록  submit
이전/ 257 258 259 260 261 [262] 263 264 265 266 / 다음 top