Да, вчера уже этот баг отловили на одном из сайтов. Это из-за вот этой гадости:
Passing null as length will not make mb_substr use it's default, instead it will interpret it as 0. <?php mb_substr($str,$start,null,$encoding); //Returns '' (empty string) just like substr() ?> Instead use: <?php mb_substr($str,$start,mb_strlen($str),$encoding); ?>
Источник. Перевожу: если третий параметр передан как null, то на некоторых системах это воспринимается как 0, из-за чего строка возвращается пустая. Багфикс.