Configuración en tiempo de ejecución
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. |
| mbstring.http_output | "pass" | PHP_INI_ALL | Disponible desde PHP 4.0.6. |
| mbstring.internal_encoding | NULL | PHP_INI_ALL | Disponible desde PHP 4.0.6. |
| mbstring.script_encoding | NULL | PHP_INI_ALL | Disponible desde PHP 4.3.0. |
| 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.languagestring -
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_translationboolean -
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_encodingstring -
Define el juego de caracteres interno predeterminado.
-
mbstring.http_inputstring -
Define el juego de caracteres predeterminado del HTTP entrante.
-
mbstring.http_outputstring -
Define el juego de caracteres predeterminado del HTTP saliente.
-
mbstring.detect_orderstring -
Define el orden de detección de códigos de caracteres predeterminado. Véase también mb_detect_order().
-
mbstring.substitute_characterstring -
Define el caracter de sustitución para juegos de caracteres inválidos.
-
mbstring.func_overloadstring -
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_detectionboolean -
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
