ASCII 코드표 범위 안의 문자는 1바이트 로 계산되고, ASCII 범위 밖의 문자는 2바이트로 계산됩니다.
한 = 2
한a = 3
한글@ = 5
한글☆ = 6
UTF-8 문자셋인 경우엔, ASCII 범위 1byte, ASCII 확장문자 2byte, 그외 문자(다국어) 3byte, 향후 추가된 문자 4byte로 계산됩니다. UTF-8 문자는 1~4바이트까지 쓸수 있는 가변길이 문자입니다.
<?php
echo strlen('한'); // 3
echo strlen('한글'); // 6(3+3)
echo strlen('한글x'); // 7(3+3+1)
?>
mb_strlen 함수를 사용하면, 원하시는 결과를 얻을 수 있어요.
<?php
echo mb_strlen('한', 'utf-8');// 1
echo mb_strlen('한a', 'utf-8');// 2
echo mb_strlen('한글a', 'utf-8');// 3
echo mb_strlen('나눔팁팁', 'utf-8');// 4
?>