기타 분류
[PHP] 글자수 byte계산시 한글은 2byte 영문은 1byte 계산하기
작성자 정보
- 캘리포니아 작성
- 작성일
컨텐츠 정보
- 4,540 조회
- 1 추천
- 목록
본문
안녕하세요.
php에서 글자 byte수 확인이 필요할 경우
보통 한글은 strlen()함수를 사용할 경우 `한`글자당 3byte로 계산이 됩니다.
하지만 우리가 원하는건 `한`글자당 2byte를 원하는데요.
예제를 보면
$str = '가나다라마';
echo strlen($str); //15
echo"<br>--------<br>";
echo mb_strlen($str, 'EUC-KR'); //9
echo"<br>";
echo mb_strlen($str, 'UTF-8'); //5
echo"<br>";
echo mb_strwidth($str, 'UTF-8'); //10
echo"<br>";
$str="abcde";
echo mb_strwidth($str, 'UTF-8'); //5
mb_strlen은 `가나다` 까지는 6byte로 정확하게 출력하는듯 하지만
`가나다라마` 에서 10byte가 아닌 9byte를 출력하여 원하는 값을 얻을 수 없습니다.
결론은
mb_strwidth가 2byte씩 정확한 값을 얻을 수 있습니다.
이상입니다.
"무단배포금지: 클라우드포털(www.linux.co.kr)의 모든 강좌는 저작권에 의해 보호되는 콘텐츠입니다. 무단으로 복제하여 배포하는 행위는 금지되어 있습니다."
관련자료
-
이전
-
다음
댓글 0
등록된 댓글이 없습니다.