The whole set of mb_* functions is one-sided and inherently flawed. I don't know, how you can call them "safer". The sole reason everyone's using them is because there seems to be no alterna ...
Ensuring the same character encoding (i.e. validating input) throughout is important (otherwise the code is inherently flawed), and there's a function for that which helps prevent invalid encoding att ...