<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/mbstring.setup.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ru',
  ),
  'this' => 
  array (
    0 => 'mbstring.configuration.php',
    1 => 'Настройка во время выполнения',
    2 => 'Настройка во время выполнения',
  ),
  'up' => 
  array (
    0 => 'mbstring.setup.php',
    1 => 'Установка и настройка',
  ),
  'prev' => 
  array (
    0 => 'mbstring.installation.php',
    1 => 'Установка',
  ),
  'next' => 
  array (
    0 => 'mbstring.constants.php',
    1 => 'Предопределённые константы',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    'path' => 'reference/mbstring/ini.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="mbstring.configuration" class="section">
 <h2 class="title">Настройка во время выполнения</h2>
 <p class="simpara">
Поведение функций зависит от установок в файле <var class="filename">php.ini</var>.
</p>
 <p class="para">
  <table class="doctable table">
   <caption><strong>Опции конфигурации mbstring</strong></caption>
   
    <thead>
     <tr>
      <th>Имя</th>
      <th>По умолчанию</th>
      <th>Место изменения</th>
      <th>Список изменений</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td><a href="mbstring.configuration.php#ini.mbstring.language" class="link">mbstring.language</a></td>
      <td>&quot;neutral&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="mbstring.configuration.php#ini.mbstring.detect-order" class="link">mbstring.detect_order</a></td>
      <td>NULL</td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="mbstring.configuration.php#ini.mbstring.http-input" class="link">mbstring.http_input</a></td>
      <td>&quot;pass&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td>Устарела</td>
     </tr>

     <tr>
      <td><a href="mbstring.configuration.php#ini.mbstring.http-output" class="link">mbstring.http_output</a></td>
      <td>&quot;pass&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td>Устарела</td>
     </tr>

     <tr>
      <td><a href="mbstring.configuration.php#ini.mbstring.internal-encoding" class="link">mbstring.internal_encoding</a></td>
      <td>NULL</td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td>Устарела</td>
     </tr>

     <tr>
      <td><a href="mbstring.configuration.php#ini.mbstring.substitute-character" class="link">mbstring.substitute_character</a></td>
      <td>NULL</td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="mbstring.configuration.php#ini.mbstring.func-overload" class="link">mbstring.func_overload</a></td>
      <td>&quot;0&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td>
       Объявлено устаревшим в PHP 7.2.0; удалено с PHP 8.0.0.
      </td>
     </tr>

     <tr>
      <td><a href="mbstring.configuration.php#ini.mbstring.encoding-translation" class="link">mbstring.encoding_translation</a></td>
      <td>&quot;0&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-perdir">INI_PERDIR</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="mbstring.configuration.php#ini.mbstring.http-output-conv-mimetypes" class="link">mbstring.http_output_conv_mimetypes</a></td>
      <td>&quot;^(text/|application/xhtml\+xml)&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="mbstring.configuration.php#ini.mbstring.strict-detection" class="link">mbstring.strict_detection</a></td>
      <td>&quot;0&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="mbstring.configuration.php#ini.mbstring.regex-retry-limit" class="link">mbstring.regex_retry_limit</a></td>
      <td>&quot;1000000&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td>Доступно, начиная с PHP 7.4.0.</td>
     </tr>

     <tr>
      <td><a href="mbstring.configuration.php#ini.mbstring.regex-stack-limit" class="link">mbstring.regex_stack_limit</a></td>
      <td>&quot;100000&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td>Доступно, начиная с PHP 7.3.5.</td>
     </tr>

    </tbody>
   
  </table>

  Дополнительную информацию и определения режимов
INI_* даёт раздел «<a href="configuration.changes.modes.php" class="xref">Места установки параметров конфигурации</a>».
 </p>

 <p class="para">Краткое разъяснение конфигурационных
директив.</p>

 <p class="para">
  <dl>
   
    <dt id="ini.mbstring.language">
     <code class="parameter">mbstring.language</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      По умолчанию в mbstring используются настройки национального языка.
      Обратите внимание, что эта опция автоматически определяет <code class="literal">mbstring.internal_encoding</code>, и
      <code class="literal">mbstring.internal_encoding</code> должен быть помещён после
      <code class="literal">mbstring.language</code> в <var class="filename">php.ini</var>
     </p>
    </dd>
   
   
    <dt id="ini.mbstring.encoding-translation">
     <code class="parameter">mbstring.encoding_translation</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <p class="para">
      Включает прозрачный фильтр кодировки для входящих запросов HTTP,
      который выполняет обнаружение и преобразование входной кодировки
      во внутреннюю кодировку.
     </p>
    </dd>
   
   
    <dt id="ini.mbstring.internal-encoding">
     <code class="parameter">mbstring.internal_encoding</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <div class="warning"><strong class="warning">Внимание</strong>
      <p class="para">
Функция устарела и ее <em>удалят</em> в будущем.</p>
     </div>
     <p class="para">
      Определяет внутреннюю кодировку символов по умолчанию.
     </p>
     <p class="para">
      Пользователи должны оставить эту опцию пустой и задать вместо неё
      <a href="ini.core.php#ini.default-charset" class="link"><code class="parameter">default_charset</code></a>.
     </p>
    </dd>
   
   
    <dt id="ini.mbstring.http-input">
     <code class="parameter">mbstring.http_input</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <div class="warning"><strong class="warning">Внимание</strong>
      <p class="para">
Функция устарела и ее <em>удалят</em> в будущем.</p>
     </div>
     <p class="para">
      Определяет кодировку символов по умолчанию для HTTP-ввода.
     </p>
     <p class="para">
      Пользователи должны оставить эту опцию пустой и задать вместо неё
      <a href="ini.core.php#ini.default-charset" class="link"><code class="parameter">default_charset</code></a>.
     </p>
    </dd>
   
   
    <dt id="ini.mbstring.http-output">
     <code class="parameter">mbstring.http_output</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <div class="warning"><strong class="warning">Внимание</strong>
      <p class="para">
Функция устарела и ее <em>удалят</em> в будущем.</p>
     </div>
     <p class="para">
      Определяет кодировку символов по умолчанию для HTTP-вывода
      (конвертация из внутренней кодировки в кодировку HTTP вывода произойдёт перед выводом).
     </p>
     <p class="para">
      Пользователи должны оставить эту опцию пустой и задать вместо неё
      <a href="ini.core.php#ini.default-charset" class="link"><code class="parameter">default_charset</code></a>.
     </p>
    </dd>
   
   
    <dt id="ini.mbstring.detect-order">
     <code class="parameter">mbstring.detect_order</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      Определяет порядок определения кодировки символов по умолчанию. Смотрите также
      <span class="function"><a href="function.mb-detect-order.php" class="function">mb_detect_order()</a></span>.
     </p>
    </dd>
   
   
    <dt id="ini.mbstring.substitute-character">
     <code class="parameter">mbstring.substitute_character</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      Определяет символ для замены недопустимых символов кодировки.
      Список поддерживаемых значений смотрите в описании функции <span class="function"><a href="function.mb-substitute-character.php" class="function">mb_substitute_character()</a></span>.
     </p>
    </dd>
   
   
    <dt id="ini.mbstring.func-overload">
     <code class="parameter">mbstring.func_overload</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     
<div class="warning"><strong class="warning">Внимание</strong>
 <p class="simpara">
  Начиная с PHP 7.2.0 функциональность <em>УСТАРЕЛА</em>,
  а в PHP 8.0.0 функциональность <em>УДАЛИЛИ</em>.
  Полагаться на функциональность настоятельно не рекомендуют.
 </p>
</div>
     <p class="para">
      Перегружает множество однобайтовых функций аналогами из mbstring. Смотрите
      раздел <a href="mbstring.overload.php" class="link">Перегрузка функций</a> для
      получения дополнительной информации.
     </p>
     <p class="para">
      Эта опция может быть изменена только в файле <var class="filename">php.ini</var>.
     </p>
    </dd>
   
   
    <dt id="ini.mbstring.http-output-conv-mimetypes">
     <code class="parameter">mbstring.http_output_conv_mimetypes</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
     </p>
    </dd>
   
   
    <dt id="ini.mbstring.strict-detection">
     <code class="parameter">mbstring.strict_detection</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <p class="para">
      Включает строгое определение кодировки. Смотрите
      описание и примеры в <span class="function"><a href="function.mb-detect-encoding.php" class="function">mb_detect_encoding()</a></span>.
     </p>
    </dd>
   
   
    <dt id="ini.mbstring.regex-retry-limit">
     <code class="parameter">mbstring.regex_retry_limit</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      Ограничивает количество обратных ходов, которые могут быть выполнены во время одного совпадения mbregex.
     </p>
     <p class="para">
      Эта настройка действует только при связывании с oniguruma &gt;= 6.8.0.
     </p>
    </dd>
   
   
    <dt id="ini.mbstring.regex-stack-limit">
     <code class="parameter">mbstring.regex_stack_limit</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      Ограничивает глубину стека регулярных выражений mbstring.
     </p>
    </dd>
   
  </dl>
 </p>

 <p class="para">
  Согласно <a href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-accept-charset" class="link external">&raquo;&nbsp;спецификации HTML 4.01</a>,
  веб-браузерам разрешено перекодировать данные из формы, которые они получают в
  кодировке символов, отличной от используемой на странице.
  Смотрите функцию <span class="function"><a href="function.mb-http-input.php" class="function">mb_http_input()</a></span> для того, чтобы определить
  кодировку символов, используемую браузерами.
 </p>
 <p class="para">
  Хотя популярные браузеры способны достаточно точно определить
  кодировку символов данного HTML-документа, было бы лучше
  установить параметр <code class="literal">charset</code> в HTTP-заголовке
  <code class="literal">Content-Type</code>
  соответствующим значением с помощью <span class="function"><a href="function.header.php" class="function">header()</a></span> или указать требуемое значение в параметре
  <a href="ini.core.php#ini.sect.data-handling" class="link">default_charset</a> в ini-настройках.
 </p>
 <p class="para">
  <div class="example" id="example-1">
   <p><strong>Пример #1 Примеры настроек <var class="filename">php.ini</var></strong></p>
   <div class="example-contents">
<div class="annotation-interactive cdata"><pre>
; Установить язык по умолчанию
mbstring.language        = Neutral; Установить Neutral(UTF-8) языком по умолчанию (по умолчанию)
mbstring.language        = English; Установить английский языком по умолчанию
mbstring.language        = Japanese; Установить японский языком по умолчанию

;; Установить внутреннюю кодировку по умолчанию
;; Примечание: Убедитесь, что используете кодировку символов, которая работает с PHP
mbstring.internal_encoding    = UTF-8  ; Установить внутреннюю кодировку в UTF-8

;; Включено преобразование кодировки HTTP-ввода.
mbstring.encoding_translation = On

;; Установить кодировку символов по умолчанию для HTTP-ввода
;; Примечание: Скрипт не может изменить установку http_input.
mbstring.http_input           = pass    ; Нет преобразования.
mbstring.http_input           = auto    ; Установить HTTP-ввод в auto
                                ; &quot;auto&quot; расширяется в соответствии с mbstring.language
mbstring.http_input           = SJIS    ; Установить HTTP-ввод в SJIS
mbstring.http_input           = UTF-8,SJIS,EUC-JP ; Указать порядок

;; Установить кодировку символов по умолчанию для HTTP-вывода
mbstring.http_output          = pass    ; Нет преобразования.
mbstring.http_output          = UTF-8   ; Установить кодировку HTTP-вывода в UTF-8

;; Установить порядок определения кодировки символов по умолчанию
mbstring.detect_order         = auto    ; Установить порядок определения в auto
mbstring.detect_order         = ASCII,JIS,UTF-8,SJIS,EUC-JP ; Указать порядок

;; Установить символ замены по умолчанию
mbstring.substitute_character = 12307   ; Указать значение Unicode
mbstring.substitute_character = none    ; Не печатать символ
mbstring.substitute_character = long    ; Примеры кодовых значений символов: U+3000,JIS+7E7E
</pre></div>
   </div>

  </div>
 </p>
 <p class="para">
  <div class="example" id="example-2">
   <p><strong>Пример #2 Настройки <var class="filename">php.ini</var> для пользователей <code class="literal">EUC-JP</code></strong></p>
   <div class="example-contents">
<div class="annotation-interactive cdata"><pre>
;; Отключить буферизацию вывода
output_buffering      = Off

;; Установить кодировку в http-заголовке
default_charset       = EUC-JP

;; Установить японский языком по умолчанию
mbstring.language = Japanese

;; Включено преобразование кодировки HTTP-ввода.
mbstring.encoding_translation = On

;; Установить перекодировку HTTP-ввода в auto
mbstring.http_input   = auto

;; Конвертировать HTTP-вывод в EUC-JP
mbstring.http_output  = EUC-JP

;; Установить внутреннюю кодировку в EUC-JP
mbstring.internal_encoding = EUC-JP

;; Не печатать недопустимые символы
mbstring.substitute_character = none
</pre></div>
   </div>

  </div>
 </p>
 <p class="para">
  <div class="example" id="example-3">
   <p><strong>Пример #3 Настройки <var class="filename">php.ini</var> для пользователей <code class="literal">SJIS</code></strong></p>
   <div class="example-contents">
<div class="annotation-interactive cdata"><pre>
;; Включить буферизацию вывода
output_buffering     = On

;; Установить mb_output_handler для включения перекодировки вывода
output_handler       = mb_output_handler

;; Установить кодировку в http-заголовке
default_charset      = Shift_JIS

;; Установить японский языком по умолчанию
mbstring.language = Japanese

;; Установить перекодировку HTTP-ввода в auto
mbstring.http_input  = auto

;; Конвертировать в SJIS
mbstring.http_output = SJIS

;; Установить внутреннюю кодировку в EUC-JP
mbstring.internal_encoding = EUC-JP

;; Не печатать недопустимые символы
mbstring.substitute_character = none
</pre></div>
   </div>

  </div>
 </p>

</div><?php manual_footer($setup); ?>