El comportamiento de estas funciones se ve afectado por la configuración de php.ini.
Nombre | Por defecto | Cambiable | Historial de cambios |
---|---|---|---|
mbstring.language | "neutral" | PHP_INI_ALL | Disponible desde PHP 4.3.0. PHP_INI_PERDIR en PHP <= 5.2.6 |
mbstring.detect_order | NULL | PHP_INI_ALL | Disponible desde PHP 4.0.6. |
mbstring.http_input | "pass" | PHP_INI_ALL | Disponible desde PHP 4.0.6. Obsoleta en PHP 5.6.0. |
mbstring.http_output | "pass" | PHP_INI_ALL | Disponible desde PHP 4.0.6. Obsoleta en PHP 5.6.0. |
mbstring.internal_encoding | NULL | PHP_INI_ALL | Disponible desde PHP 4.0.6. Obsoleta en PHP 5.6.0. |
mbstring.script_encoding | NULL | PHP_INI_ALL | Disponible desde PHP 4.3.0. Eliminado en PHP 5.4.0. Use zend.script_encoding en su lugar. |
mbstring.substitute_character | NULL | PHP_INI_ALL | Disponible desde PHP 4.0.6. |
mbstring.func_overload | "0" | PHP_INI_SYSTEM | PHP_INI_PERDIR desde PHP 4.3 a 5.2.6, en versiones distintas PHP_INI_SYSTEM. Disponible desde PHP 4.2.0. |
mbstring.encoding_translation | "0" | PHP_INI_PERDIR | Disponible desde PHP 4.3.0. |
mbstring.strict_detection | "0" | PHP_INI_ALL | Disponible desde PHP 5.1.2. |
He aquí una breve explicación de las directivas de configuración.
mbstring.language
string
El ajuste de lenguaje nacional predeterminado (NLS) usado en mbstring. Se ha de observar que esta opción define automágicamente mbstring.internal_encoding, por lo que se debe colocar mbstring.internal_encoding tras mbstring.language en php.ini
mbstring.encoding_translation
boolean
Habilita el filtro de codificación de caracteres transparente para las consultas HTTP entrantes, la cual lleva a cabo la detección y la conversión de la codificación de entrada a la codificación de caracteres interna.
mbstring.internal_encoding
string
Esta característica ha sido declarada OBSOLETA desde PHP 5.6.0. Su uso está totalmente desaconsejado.
Define la codificación de caracteres interna.
Los usuarios de PHP 5.6 y posterior deberían dejarla vacía y establecer
default_charset
en su lugar.
mbstring.http_input
string
Esta característica ha sido declarada OBSOLETA desde PHP 5.6.0. Su uso está totalmente desaconsejado.
Define la codificación de caracteres predeterminada de entrada de HTTP.
Los usuarios de PHP 5.6 y posterior deberían dejarla vacía y establecer
default_charset
en su lugar.
mbstring.http_output
string
Esta característica ha sido declarada OBSOLETA desde PHP 5.6.0. Su uso está totalmente desaconsejado.
Define la codificación de caracteres predeterminada de salida de HTTP (la salida será convertida de la codificación interna a la codificación de salida de HTTP).
Los usuarios de PHP 5.6 y posterior deberían dejarla vacía y establecer
default_charset
en su lugar.
mbstring.detect_order
string
Define el orden de detección de códigos de caracteres predeterminado. Véase también mb_detect_order().
mbstring.substitute_character
string
Define el caracter de sustitución para juegos de caracteres inválidos.
mbstring.func_overload
string
Reemplaza determinadas funciones de único byte por sus equivalentes en mbstring. Véase la sección Sobrecarga de funciones para más información.
Este ajuste sólo puede ser cambiado en el archivo php.ini
mbstring.strict_detection
boolean
Habilita la detección estricta de codificaciones.
De acuerdo a la » especificación de HTML 4.01, se permite que los navegadores envíen un formulario con una codificación diferente a la utilizada por la página. Véase mb_http_input() para consultar los juegos de caracteres utilizados por los navegadores.
Pese a que la mayoría de navegadores son capaces de averiguar la codificación de un determinado documento HTML, es aconsejable utilizar el parámetro charset en la cabecera Content-Type de HTTP con un valor apropiado, mediante header() o mediante el ajuste ini default_charset.
Ejemplo #1 Ejemplos de ajustes de php.ini
; Establecer el lenguaje predeterminado mbstring.language = Neutral; Establecer el lenguaje neutral(UTF-8) (predeterminado) mbstring.language = English; Establecer como lenguaje el inglés mbstring.language = Japanese; Establecer como lenguaje el japonés ;; Establecer la codificación interna predeterminada ;; Nota: Asegúrese de usar una codificación que funcione con PHP mbstring.internal_encoding = UTF-8 ; Establecer la codificación interna a UTF-8 ;; Traducción de codificación HTTP entrante habilitada mbstring.encoding_translation = On ;; Establecer la codificación de caracteres predeterminada de HTTP entrante ;; Nota: Un script no podrá cambiar el ajuste http_input. mbstring.http_input = pass ; Sin conversión. mbstring.http_input = auto ; Establecer la entrada HTTP en automático ; "auto" se expande de acuerdo a mbstring.language mbstring.http_input = SJIS ; Establecer la entrada HTTP a SJIS mbstring.http_input = UTF-8,SJIS,EUC-JP ; Especificar el orden ;; Establecer la codificación de caracteres predeterminada de HTTP saliente mbstring.http_output = pass ; Sin conversión mbstring.http_output = UTF-8 ; Establecer la codificación de salida HTTP a UTF-8 ;; Establecer el orden predeterminado de la detección de juegos de caracteres mbstring.detect_order = auto ; Orden de detección automático mbstring.detect_order = ASCII,JIS,UTF-8,SJIS,EUC-JP ; Especificar el orden ;; Establecer el carácter de sustitución predeterminado mbstring.substitute_character = 12307 ; Especificar un valor Unicode mbstring.substitute_character = none ; No imprimir el carácter mbstring.substitute_character = long ; Ejemplo de long: U+3000,JIS+7E7E
Ejemplo #2 Ajustes de php.ini para usuarios de EUC-JP
;; Deshabilitar el almacenamiento en el búfer de salida output_buffering = Off ;; Establecer el juego de caracteres de las cabeceras HTTP default_charset = EUC-JP ;; Establecer como lenguaje predeterminado el japonés mbstring.language = Japanese ;; Habilitar la traducción de la codificación del HTTP entrante. mbstring.encoding_translation = On ;; Establecer en automática la conversión de la codificación de HTTP entrante mbstring.http_input = auto ;; Convertir la salida de HTTP a EUC-JP mbstring.http_output = EUC-JP ;; Establecer EUC-JP como codificación interna mbstring.internal_encoding = EUC-JP ;; No imprimir caracteres inválidos mbstring.substitute_character = none
Ejemplo #3 Ajustes de php.ini para usuarios de SJIS
;; Habilitar el almacenamiento en el búfer de salida output_buffering = On ;; Establecer mb_output_handler para habilitar la conversión de los datos de salida output_handler = mb_output_handler ;; Establecer el juego de caracteres de las cabeceras HTTP default_charset = Shift_JIS ;; Establecer como lenguaje predeterminado el japonés mbstring.language = Japanese ;; Establecer en automático la conversión del juego de caracteres http entrante mbstring.http_input = auto ;; Convertir a SJIS mbstring.http_output = SJIS ;; Establecer EUC-JP como codificación interna mbstring.internal_encoding = EUC-JP ;; No imprimir caracteres inválidos mbstring.substitute_character = none