Оглавление

15.2. Настройка локали

При изменении регистра русских букв может возникнуть проблема. Чтобы ее избежать, необходимо правильно настроить локаль. Локалью называют совокупность локальных настроек системы.
Для установки локали используется функция setlocale() Функция имеет следующий формат:
setlocale(<Категория>, <Локаль>);
Параметр <категория> может принимать следующие значения:
□ LC_ALL — устанавливает локаль для всех режимов;
□ LC_COLLATE — для сравнения строк;
□ LC_CTYPE — для перевода символов в нижний или верхний регистр;
□ LC_MONETARY — для отображения денежных единиц;
□ LC_NUMERIC — для форматирования дробных чисел;
□ LC_TIME — для форматирования вывода даты и времени.

 

Например:

$str = "очень длинная строка";
setlocale(LC_CTYPE, "ru_RU.CP1251"); // Настройка локали
echo strtoupper($str); // Выведет: ОЧЕНЬ ДЛИННАЯ СТРОКА

Пример для кодировки UTF-8:

setlocale(LC_CTYPE, 'ru_RU.UTF-8'); // Настройка локали в UNIX
setlocale(LC_ALL, 'Russian_Russia.65001'); // Настройка локали в Windows

Можно указать сразу несколько локалей через запятую:

setlocale(LC_ALL, "ru_RU.CP1251", "Russian_Russia.1251");
setlocale(LC_ALL, 'ru_RU.UTF-8', 'Russian_Russia.65001');

 

Примечания:
  • Обратите внимание
    В операционной системе Windows нельзя настроить категорию LC_CTYPE для кодировки UTF-8. Это связано с особенностями операционной системы Windows. Кроме того, в РНР 6 функция setlocale() помечена как устаревшая.
Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити