PHP не поддерживает мультибайтовые строки в базовых функциях. $str[0] в кириллице не даст результат - в кириллице символ занимает два байта, в итоге мы выдергиваем первый байт двухбайтного символа)). Используйте функции мультибайт -
php.net/manual/ru/book.mbstring.php