Türkçe karakterler latin karakterleri gibi değil latin karakterler 16 lık sistemde şöyle tanımlanır
a = 0x61
b = 0x62
c = 0x63
gibi en düşük sayı 0x00 dır en büyüğü 0xFF yani en büyük tek byte değer eğer 0 ı da sayarsak maximum 256 farklı karakter içerebilir ama 256 karakterle tüm dillerdeki karakterleri kapsatamıyacağımız için ç,ı,ğ,ü gibi karakterleri minimum 2 byte ile tanımlayabiliyoruz mesela
ğ = 0xC4 , 0x9F
o yüzden türkçe karakterler latince karakterlerden 2 kat fazla yer kaplar
http://www.utf8-chartable.de/unicode...ames=-&utf8=0x

bu iş için doğrusu str_len dir mb_strlen değil