Mb-функции используют ту кодировку, которая прописана в настройках php. Если у тебя в php.ini торчит win-1251, то, разумеется, нормально будет работать только 1251.
Но в современном мире 1251 по умолчанию прописана только в устаревшем много лет назад "Денвере" и у некоторых российских говнохостеров. Тогда как цивилизованный мир использует именно utf-8 и никаких проблем с mb-функциями при этом не испытывает.
Более того, mb-функции вообще в "чистом" виде практически не используются, т.к. при нормальных настройках PHP вызовы "обычных" строковых функций автоматически заменяются на вызовы их mb-аналогов.