# 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)?>
|