Что интересно, по логике вроде похуй, в какой последовательности проверяешь...
Но на практике, есть ложные срабатывания.
З.Ы.
И конечно не забывай про mb_internal_encoding()
Если неправильно задана, то использование mb_string дает непредсказуемые результаты.