Подтвердить что ты не робот

Что делают эти настройки PHP mbstring?

Я пытаюсь выяснить, что именно делают эти настройки php.ini. Что происходит, когда они настроены на разные значения? Когда они нужны? Когда они вредны?

Как обычно, руководство по PHP менее полезно.

РЕДАКТИРОВАТЬ. Чтобы уточнить, я понимаю, как работают кодировки символов, и я понимаю, как многобайтовые функции PHP отличаются от однобайтовых. Я ищу особенности того, что делают вышеуказанные настройки.

РЕДАКТИРОВАТЬ 2: ОК, похоже, что они действительно предоставляют дополнительную документацию, а не только страницу в конфигурации времени выполнения, который имеет только однострочные сводки. Первые три из них имеют аналогично названные функции, и на страницах, описывающих версии функций, есть более подробная информация. Я добавил ссылки выше.

РЕДАКТИРОВАТЬ 3: добавление щедрости. Я ищу конкретные сведения о том, что именно делают эти настройки, особенно последние три. Что они конвертируют из и в, и когда они это делают?

4b9b3361

Ответ 1

Вы можете изменить mbstring.language на любой язык, с которым вы работаете. (Источник)

язык

; language for internal character representation.
mbstring.language = Neutral ; Set default language to neutral(UTF-8) (default)
mbstring.language = English
mbstring.language = Japanese
mbstring.language = Korean  ;For Korean market later

http_input

; http input encoding.
mbstring.http_input = pass
mbstring.http_input = auto
mbstring.http_input = UTF-8
mbstring.http_input = UTF-8, SJIS, EUC-JP

http_output

; http output encoding. mb_output_handler must be
; registered as output buffer to function
mbstring.http_output = pass
mbstring.http_output = UTF-8

кодирование перевода

; enable automatic encoding translation accoding to
; mbstring.internal_encoding setting. Input chars are
; converted to internal encoding by setting this to On.
; Note: Do _not_ use automatic encoding translation for
;       portable libs/applications.
mbstring.encoding_translation = On

Ответ 2

Суть заключается в поддержке кодировок с различными наборами символов. Существует множество кодировок (ASCII, ANSI, UTF-8 и т.д.), И каждый из них имеет разные наборы символов и количество байтов на символ. Настройки, которые вы смотрите, задают кодировки по умолчанию для разных функций PHP.

PHP предоставляет ряд функций, которые помогут вам справиться с этими разными кодировками должным образом. Для иллюстрации, проверьте mb_strlen() vs strlen().

Короткий ответ: если вы не локализуете текст вашего приложения или не связываетесь с системами с разными кодировками (ваша база данных включена!), вам, вероятно, не нужно беспокоиться об этом.