2010-01-04 4 views
3

UTF-8입니다. 예를 들어, 정보는 2 자이고 라리 페이지는 6 자입니다.PHP에서 문자열의 문자 수를 얻는 방법은 무엇입니까?

+0

나는 mb_strlen를(), 그것은 情報 6 및 19입니다 사용할 때 ラ リ ー ペ イ ジ – Steven

+0

참고 "ラ リ ー ペ イ ジ"그것은 7 개 문자를 만드는 것은 당신이 mb_strlen 두 번째 매개 변수로 사용하는 인코딩을 지정하려고 –

+0

의 공간이 . –

답변

4

코드

$a = "情報"; 
$b = "ラリーペイジ"; 

echo mb_strlen($a, 'UTF-8') . "\n"; 
echo mb_strlen($b, 'UTF-8') . "\n"; 

결과

mb_strlen의 두 번째 인수가 선택했다하더라도, 그것은 실제로 필요한
2 
6 
+0

오 BTW 내가 라리 페이지에서 공간을 제거했습니다 –

+0

이것은 ISO-8859-1에 해당하지 않는 문자에 대해 정의되지 않은 결과를 얻습니다. –

+0

당신은 아마'utf8_decode()'에 관한 것입니다. –

0

mb_strlen은 UTF-8과 같은 멀티 바이트 문자 인코딩을 사용하십시오.

+0

mb_strlen()을 사용할 때 정보 용으로 6이고 라리 페이지 용으로는 – Steven

+0

어떤 이유로 mb_strlen에 대해 정의되지 않은 함수가 발생합니다. S –

+0

물음표, mbstring 확장자가 PHP에 설치되어 활성화되어 있는지 확인하십시오. –

0

사용할 수 strlen(utf8_decode('情報'));

0

, 경우에도 내부 인코딩 및 당신의 문자열은 이식성을 위해 동일합니다.

mb_strlen('情報', 'UTF-8'); 

같은 전혀 작동하지 않을 것 utf8_decode 옵션을 이십 기가 바이트를 들면, mb_substr을 포함한 대부분의 멀티 바이트 기능에 적용됩니다.

관련 문제