Функция strlen() неправильно считает русские символы. Как исправить?
mb_strlen
mb_strtolower
и т.д. привет юникод
Что-то вы напутали с кодировками. Сохраните файл в utf-8, и всё будет ОК с функциями mb_*