RuCable
Решение проблемы strtolower() strtoupper() в кириллице

Решение проблемы strtolower() strtoupper() с русским языком

Проблемы при работе с кириллицей в PHP-скриптах функций strtoupper() и strtolower() возникают когда текущая локаль (locale) определена не в той кодировке которая интерпретируется по умолчанию. Для правильного её определения следует воспользоваться функцией setlocale() в самом начале вашего PHP-скрипта:
<?php

setlocale(LC_ALL, 'ru_RU.CP1251');
echo strtoupper('Тестируем работу ЭТОГО скрипта!');

?>

Чтобы изменить кодировку для Вашего скрипта, измените 'ru_RU.CP1251' на нужную.
Если все же это не сработало, по всей видимости настройки PHP не могут найти нужную локаль.

Чтобы указать PHP эту локаль, потребуется некоторые операции через SSH на Вашем сервере. Так же по всей видимости, Вам потребуется попросить системного администратора сделать это, если Вы имеете виртуальный хостинг.


Чтобы указать или узнать нужную локаль, просмотрите папку /usr/share/locale
Для русского языка, это:

ru_RU.CP1251
ru_RU.CP866
ru_RU.ISO8859-5
ru_RU.ISO_8859-5
ru_RU.KOI8-R
ru_SU.CP866
ru_SU.ISO8859-5
ru_SU.ISO_8859-5
ru_SU.KOI8-R