(PHP 4 >= 4.0.6, PHP 5, PHP 7)
mb_detect_order — Установка/получение списка кодировок для механизмов определения кодировки
В encoding_list
задается порядок, в котором механизмы
автоматического определения кодировок будут их проверять.
encoding_list
encoding_list
- массив (array) или
строка, в которой перечислены кодировки через запятую. См.
Поддерживаемые кодировки.
Если encoding_list
опущен, функция вернет
текущий список кодировок в виде массива.
Эта настройка влияет на работу функций mb_detect_encoding() и mb_send_mail().
В mbstring на данный момент реализованы следующие фильтры для определения кодировок. Если последовательность байт в исходной строке не будет соответствовать ни одной из перечисленных кодировок, определение кодировки завершится неудачей.
UTF-8, UTF-7, ASCII, EUC-JP,SJIS, eucJP-win, SJIS-win, JIS, ISO-2022-JPКодировку ISO-8859-*, mbstring всегда определяет как ISO-8859-*.
Для кодировок UTF-16, UTF-32, UCS2 и UCS4 автоматическое определение всегда будет завершаться неудачей.
При установке порядка определения кодировки, в зависимости от успешности,
возвращает TRUE
или FALSE
.
При получении порядка определения кодировки, возвращается отсортированный массив кодировок.
Пример #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