mb_detect_order

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_detect_order Установка/получение списка кодировок для механизмов определения кодировки

Описание

mb_detect_order ( array|string|null $encoding = null ) : array|bool

В encoding задается порядок, в котором механизмы автоматического определения кодировок будут их проверять.

Список параметров

encoding

encoding - массив (array) или строка, в которой перечислены кодировки через запятую. См. Поддерживаемые кодировки.

Если encoding опущен, функция вернет текущий список кодировок в виде массива.

Эта настройка влияет на работу функций 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.

При получении порядка определения кодировки, возвращается отсортированный массив кодировок.

Список изменений

Версия Описание
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

Смотрите также

  • mb_internal_encoding() - Установка/получение внутренней кодировки скрипта
  • mb_http_input() - Определение кодировки символов входных данных HTTP-запроса
  • mb_http_output() - Установка/получение кодировки символов вывода HTTP
  • mb_send_mail() - Отправка закодированного сообщения