Получаю строку, делю ее в массив пробелами, дэбажу и бац, слова с кириллицей имеют длину ровно в 2 раза больше реальной. При том проблема только с кириллицей, цифры выводятся правильно. Что это за аномалия?
Александр, Есть еще очень интересный случай с смайлами emoji, они уже 4 байта требуют.
И это может поломать например базу данных, если не сойдется varchar length и mb_strlen
1) Валидируем комментарий '*emoji_egg**emoji_egg**emoji_egg**emoji_egg*' как mb_strlen <=4
2) Пытаемся его записать: вставляем в колонку Comment.body с типом VARCHAR(4) кодировкой UTF-8
Получаем вполне себе Exception
UPD: toster тримает emoji в комментах. И правильно делает ) Изначально *emoji_egg* = 1 смайл-яйцо
я не знал, что один символ кириллицы в стандартной кодировки php равен 2 байтам.
это стандартная кодировка по рекомендациям RFC и ISO, бывают кодировки и с переменным кол-во байт на символ и с большим кол-вом. Почитайте, подробнее про кодировки, это вам не раз понадобится.