extension - ¿Qué hacen estas configuraciones PHP mbstring?
mbstring php 7 (3)
Creo que todo se explica por la demostración en este ejemplo:
http://fr2.php.net/manual/en/function.mb-internal-encoding.php#53265
Aunque no se usa en él, puede deducir el uso de mbstring.http_input
.
Estoy tratando de averiguar exactamente qué hacen estas configuraciones php.ini. ¿Qué sucede cuando están configurados en valores diferentes? ¿Cuándo son necesarios? ¿Cuándo son dañinos?
- mbstring.language
- mbstring.http_input
- mbstring.http_output
- mbstring.encoding_translation
Como de costumbre, el manual de PHP no es útil.
EDITAR : solo para aclarar, entiendo cómo funcionan las codificaciones de caracteres, y entiendo cómo las funciones de varios bytes de PHP difieren de sus contrapartes de un solo byte. Estoy buscando detalles sobre lo que hacen las configuraciones anteriores.
EDIT 2 : OK, parece que realmente proporcionan más documentación que solo la página en la configuración de tiempo de ejecución , que solo tiene resúmenes de una línea. Los tres primeros tienen funciones con nombres similares, y hay más detalles en las páginas que describen las versiones de funciones. Agregué enlaces arriba.
EDIT 3 : Agregar un bounty. Estoy buscando detalles específicos sobre exactamente lo que hacen estos ajustes, especialmente los últimos tres. ¿De qué se convierten desde y hacia, y cuándo lo hacen?
El objetivo es admitir diferentes codificaciones de conjunto de caracteres. Hay una gran variedad de codificaciones (ASCII, ANSI, UTF-8, etc.) y cada una tiene diferentes conjuntos de caracteres y número de bytes por carácter. La configuración que buscas especifica codificaciones predeterminadas para diferentes funciones de PHP.
PHP proporciona una serie de funciones que te ayudan a manejar estas diferentes codificaciones de manera adecuada. Para una ilustración, echa un vistazo a mb_strlen () vs strlen ().
La respuesta corta es que, a menos que esté localizando el texto de su aplicación o comunicándose con sistemas con diferentes codificaciones (¡su base de datos incluida!), Probablemente no tenga que preocuparse por ello.
Puede cambiar mbstring.language a cualquier idioma con el que esté utilizando. (Fuente)
idioma
; 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
codificación de traducción
; 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