Çokbaytlı karakter sayısını tam almak nasıl?

2 Cevap php

Denedim:

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

çıkışı 9, aslında sadece 3 karakter varken ikisi de.

Karakterleri saymak doğru yolu nedir?

2 Cevap

Eğer ikinci parametre kodlama belirtmek için emin olmalısınız

yani

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

bakın manual

Eğer mb dize uzantısı erişiminiz yoksa bu da çalışır (ve ben daha hızlı olduğuna inanıyorum):

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