Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

Opciones de configuración de mbstring
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.
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

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
Advertencia

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
Advertencia

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
Advertencia

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