(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
mb_detect_order — Устанавливает или получает порядок определения кодировки символов
Устанавливает порядок автоматического определения кодировки символов
в значение, переданное в параметр encoding
.
encoding
Параметр encoding
— массив (array) или
разделённый запятыми список кодировок символов. Подробнее о существующих в PHP кодировках символов рассказано
в разделе «Поддерживаемые кодировки символов».
Если параметр encoding
не задан или равен null
, функция вернёт
текущий порядок определения кодировок символов в виде массива.
Эта настройка влияет на работу функций mb_detect_encoding() и mb_send_mail().
Модуль mbstring
содержит следующие
фильтры определения кодировок. Если для следующих кодировок существует
недопустимая последовательность байтов, определение кодировки завершится неудачно:
UTF-8
, UTF-7
,
ASCII
,
EUC-JP
,SJIS
,
eucJP-win
, SJIS-win
,
JIS
, ISO-2022-JP
Модуль mbstring
определяет кодировку ISO-8859-*
как ISO-8859-*
.
Определение кодировок UTF-16
, UTF-32
,
UCS2
и UCS4
всегда будет неудачным.
При установке порядка определения кодировки: возвращает true
в случае успешного выполнения или false
в случае возникновения ошибки.
При получении порядка определения кодировки: возвращает массив кодировок в установленном порядке.
Версия | Описание |
---|---|
8.0.0 |
Теперь параметр encoding принимает значение null .
|
Пример #1 Пример использования функции mb_detect_order()
<?php
/* Установка порядка определения списком перечисленных кодировок */
mb_detect_order("eucjp-win,sjis-win,UTF-8");
/* Установка порядка определения массивом */
$ary[] = "ASCII";
$ary[] = "JIS";
$ary[] = "EUC-JP";
mb_detect_order($ary);
/* Отображение текущего порядка обнаружения */
echo implode(", ", mb_detect_order());
?>
Пример #2 Пример бесполезных порядков определения
; Всегда определяет как ISO-8859-1 detect_order = ISO-8859-1, UTF-8 ; Всегда определяет как UTF-8, так как ASCII/UTF-7 — ; подмножество UTF-8 detect_order = UTF-8, ASCII, UTF-7