На странице произошла ошибка #S51. Свяжитесь с вебмастером. PHP 5.6 и PHP 7 на русском: Функция mb_detect_order() - Установка/получение списка кодировок для механизмов определения кодировки

mb_detect_order

(PHP 4 >= 4.0.6, PHP 5)

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

Описание

mixed mb_detect_order ([ mixed $encoding_list ] )

Задает список кодировок 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, автоматическое определение всегда будет завершаться неудачей.

Пример #1 Пример бесполезных списков

; Всегда будет определять кодировку ISO-8859-1
detect_order = ISO-8859-1, UTF-8

; Всегда будет определять кодировку UTF-8, так как значения ASCII/UTF-7 
; допустимы в UTF-8
detect_order = UTF-8, ASCII, UTF-7

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #2 Пример использования 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());
?>

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

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

Коментарии

Note that as of mbstring.c version 1.142.2.31, first released as PHP 4.3.4RC3, "auto" has changed meaning.  It used to be configured based on #defines, so it was set at compile time, so for precompiled binary users (esp. Windows users) it has always been the same (Japanese mode).  However, it is now based on the language that mbstring is configured for at runtime.  (setlocale() doesn't affect this though)  Running on English Windows at least, mbstring defaults to a "neutral" mode which results in an "auto" list of "ASCII, UTF-8".  So, the point is, for PHP 4.3.4 or newer, you probably want to either use mb_language("Japanese") followed by mb_detect_order("auto"), or just hardcode your detect order with mb_detect_order("ASCII, JIS, UTF-8, EUC-JP, SJIS").  (Also note that mb_language() alone won't do it, you'll have to set the detect order to "auto" _after_ calling mb_language().)
2004-04-20 23:31:34
http://php5.kiev.ua/manual/ru/function.mb-detect-order.html

    Поддержать сайт на родительском проекте КГБ