2011-10-27 3 views
1

이상한 결과가 있습니다.PHP에서 문자열의 정확한 길이를 얻는 방법?

strlen("òàùè")

no-ascii 문자로 올바르게 문자열을 계산할 수 있습니까?

또한 mb_strlen() 보았지만 문제가 해결되지 않습니다.

감사

+2

어떤 인코딩을 하시겠습니까? 이상한 결과는 무엇입니까? 'mb_strlen()'을 사용하면 어떻게됩니까? –

+0

당신은 뭔가를 잊어 버렸습니다. –

+0

문자의 개수가 나옵니다 * 2 – Dail

답변

11

mb_strlen 것이다

반환 문자 인코딩 $ 인코딩을 가진 문자열 $ str을 의 문자 수. 멀티 바이트 문자가 세계적으로 UTF8 UTF8로 가능성이 설정되지 않은 1

귀하의 내부 인코딩으로 계산, 그래서

echo mb_strlen('òàùè', 'utf8'); 

을하거나 설정 :

mb_internal_encoding('utf8'); 

및 그 다음해야한다

echo mb_strlen("òàùè"); 

는 4 (demo)

관련 문제