It was hinted in a comment to an answer to this question that PHP can not reverse Unicode strings.
As for Unicode, it works in PHP because most app
Here's another way. This seems to work without having to specify an output encoding (tested with a couple of different mb_internal_encodings):
mb_internal_encoding
function mb_strrev($text) { return join('', array_reverse( preg_split('~~u', $text, -1, PREG_SPLIT_NO_EMPTY) )); }