Для перевода символов в нижний регистр используется функция strtolower(), а в верхний - strtoupper(
$str = strtolower ($str);
$str = strtoupper ($str);
При изменении регистра русских букв могут возникнуть проблемы, избежать которых поможет правильная настройка локали. Локалью называется совокупность настроек системы, таких как формат даты и времени, язык, кодировка. Для установки локали используется функция SetLocale(), которой следует передать два параметра - категорию устанавливаемых параметров и локаль. Категория может быть следующей:
LC_TYPE - используется для установки локали перевода символов нижний/верхний регистры.
LC_NUMERIC - используется для установки локали для функции форматирования дробных чисел.
LC_TIME - помогает настроить форматированный вывод даты и времени.
LC_ALL - устанавливает все вышеперечисленные режимы.
Любая локаль, установленная в системе, имеет свое уникальное имя, по которому можно к ней обратиться. Категория LC_TYPE устанавливает локаль для преобразования символов. Имя активизированной локали для катагории LC_TYPE содержится в элементе с ключом LAND массива GLOBALS (эта переменная окружения LAND). В некоторых случаях - это ru_RU.koi8. Для корректного преобразования символов нужно выполнить функцию:
setlocale(LC_ALL, "ru_RU.CP1251");
echo strtolower("TEST_ТЕСТ");
Для просмотра ссылки Войди или Зарегистрируйся