// Исходная строка (вернее, часть строки, в которой наблюдается баг)
$string = 'Речовина, що сприяє охолодженню, називається хладогентом';
// Привело к багу: первая буква Р превратилась в кракозябру
$string = preg_replace( '|\s+|', ' ', $string);
// Работает нормально
$string = preg_replace( '|\s{2,}|', ' ', $string);
Думал, что буквы были в разных кодировках, но mb_detect_encoding показал обратное. И 'Р', и остальная часть строки в кодировке utf-8. Никаких репортов нет. По сути, если не попытаться вывести $string, то и не узнает, что что-то пошло не так.