아래의 소스로 테스트.

$chars = array(
	'ASCII - 알파벳' => 'a',
	'ASCII - 숫자'   => '1',
	'한글'           => '가',
	'한자'           => '韓',
	'일어'           => 'あ'
);


foreach ($chars as $k=>$v) {
	echo '<br><font color=red>'.$k.'</font>&nbsp;<br>';
	echo '<font color=blue><b>'.$v.'</b></font> ='.mb_strlen($v).' 바이트<br>';
	for ($i=0; $i<mb_strlen($v); $i++) {
		$b = sprintf('%d : 0x%x', $i, Ord($v[$i]));
		echo $b.'<br>';
	}
}

 


결과
euc-kr
ASCII - 알파벳 
a =1 바이트
0 : 0x61

ASCII - 숫자 
1 =1 바이트
0 : 0x31

한글 
가 =2 바이트
0 : 0xb0
1 : 0xa1

한자 
韓 =2 바이트
0 : 0xf9
1 : 0xdb

일어 
あ =2 바이트
0 : 0xaa
1 : 0xa2





UTF-8
ASCII - 알파벳 
a =1 바이트
0 : 0x61

ASCII - 숫자 
1 =1 바이트
0 : 0x31

한글 
가 =3 바이트
0 : 0xea
1 : 0xb0
2 : 0x80

한자 
韓 =3 바이트
0 : 0xe9
1 : 0x9f
2 : 0x93

일어 
あ =3 바이트
0 : 0xe3
1 : 0x81
2 : 0x82






'PHP' 카테고리의 다른 글

PHP Command Line 실행시 Arguments  (0) 2009.04.22
PHP Command Line 실행 시 new line 출력 문제.  (0) 2009.04.22
smarty 가 컴파일하는게 자꾸 0바이트가 나올 경우  (0) 2009.04.18
charset  (0) 2009.04.18
쿠폰번호 발행 2  (0) 2009.04.18
Posted by bloodguy
,