문제

나는 시도했다 :

mb_strlen('普通话');
strlen('普通话');

둘 다 출력 9, 실제로는 3자가 있습니다.

캐릭터를 세는 올바른 방법은 무엇입니까?

도움이 되었습니까?

해결책

두 번째 매개 변수에서 인코딩을 지정해야합니다.

mb_strlen('普通话', 'UTF-8');

참조 수동

다른 팁

MB 문자열 확장에 액세스 할 수 없다면 이것은 또한 작동합니다 (그리고 더 빠르다고 생각합니다).

strlen(utf8_decode('普通话')); // 3

하나의 중국어는 하나의 ASCII 문자와 같지 않습니다. MB_STRLEN은 UTF-8의 문자열이 인코딩 된 경우 다중 바이트 문자를 계산하는 올바른 방법입니다.

여기를 봐:http://www.herongyang.com/php-chinese/multibyte-utf-8-mb_strlen.html

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top