Szöveghossz UTF-8-ban

Újjabb furcsaságba botlottam: var_dump($tmp); // string(3) “ÁT”

Itt már rutinossabb voltam (nem úgy, mint a reguláris kifejezésnél) és sejtettem, hogy az “Á”-t valószínűleg 2 byteon tárolja, de ettől függetlenül a szöveg csak 2 karakter hosszú.

Az strlen-nél azt mondja a doksi nézzük meg az mb_strlen-t (ami a multibyte string functions-ben van) és itt elég hamar kiderül mi is a helyzet:

“A multi-byte character is counted as 1.”

A vizsgálatot a következőre módosítva, már helyes értéket kaptam:

mb_strlen($tmp, 'utf-8');

Mondd el a véleményedet!