И все-таки используем setlocale для правильного решения задачи с русским текстом
В предыдущем примере я предложил быстрое решение проблемы, при которой функции strtolower и strtoupper перестают работать с русским текстом. Это решало проблему, согласен, но настоящий программист должен уметь ПРАВИЛЬНО решать задачи. Для правильного решения задачи работы со строками в PHP, будем предварительно использовать функцию setlocale:
string setlocale ( mixed $category , string $locale [, string $... ] )
Вот как она выглядит в общем виде. setlocale явно указывает локаль, с которой будут работать функции. Параметр $category какраз и определяет, на какие функции будет распространяться установка локали, $category может быть:
- LC_ALL - модифицировать все установки
- LC_COLLATE - только сравнения строк, см. strcoll()
- LC_CTYPE - классификация строк, например strtoupper()
- LC_MONETARY - денежные значения
- LC_NUMERIC - числовые значения
- LC_TIME - значения даты/времени
Тоесть мы просто перед вызовами функций для работы со строками/датами/временем/денежными форматами и т.д. должны указать локаль, и дальше функции будут знать с каким текстом они работают:
setlocale(LC_ALL, ‘rus’);
Думаю такое решение задачи является более правильным и корректным.

Как маленькое примечание добавлю, что второй параметр функции я привел как ‘rus’ , что верно если сервер работает под управлением Windows. Если сервер работает на UNIX’овых системах - параметр может меняться (как вариант ‘ru_RU’).
А кроме русского с какими языками можно работать?
Игорь, работать можно с различными языками, только нужно соответственно передавать второй параметр в функцию setlocale. Дополнительную информацию по этой функции как всегда можно найти на php.net, там же можно и найти ссылки на перечень всех языков и их обозначений.
А можно ли прямые ссылочки?
http://ua.php.net/manual/ru/function.setlocale.php
спасибо за ссылку и информацию
да похоже я решил проблему спасибо за информацию
очень памагло по чаще к вам буду заходить
спасибо за ссылку весьма блогодарен
Надо бы проверить
Спасибо за информацию! Выношу благодарность за такие новости! Очень полезно! Буду чаще заходить к Вам!
Спасибо за информацию, очень своевременно:)
Иногда кстати этот способ не срабатывает, если у хостера не прописаны соответствующие локали. Так что если, что - “трусите” своего хостера.