O comportamento destas funções é afetado pelas configurações do php.ini.
Nome | Padrão | Modificável | Registro de Alterações |
---|---|---|---|
mbstring.language | "neutral" | INI_ALL | |
mbstring.detect_order | NULL | INI_ALL | |
mbstring.http_input | "pass" | INI_ALL | Descontinuado |
mbstring.http_output | "pass" | INI_ALL | Descontinuado |
mbstring.internal_encoding | NULL | INI_ALL | Descontinuado |
mbstring.substitute_character | NULL | INI_ALL | |
mbstring.func_overload | "0" | INI_SYSTEM | Descontinuado a partir do PHP 7.2.0; removido a partir do PHP 8.0.0. |
mbstring.encoding_translation | "0" | INI_PERDIR | |
mbstring.http_output_conv_mimetypes | "^(text/|application/xhtml\+xml)" | INI_ALL | |
mbstring.strict_detection | "0" | INI_ALL | |
mbstring.regex_retry_limit | "1000000" | INI_ALL | Disponível a partir do PHP 7.4.0. |
mbstring.regex_stack_limit | "100000" | INI_ALL | Disponível a partir do PHP 7.3.5. |
Aqui está uma breve explicação das diretivas de configuração.
mbstring.language
string A configuração padrão do idioma nacional (NLS) usada no mbstring. Note que esta opção define automaticamente mbstring.internal_encoding
e mbstring.internal_encoding
deve ser colocada após mbstring.language
no php.ini
mbstring.encoding_translation
boolAtiva o filtro de codificação de caracteres transparente para as consultas HTTP de entrada, que realiza a detecção e conversão da codificação de entrada para a codificação de caracteres interna.
mbstring.internal_encoding
stringEste recurso defasado certamente será removido no futuro.
Define a codificação de caracteres interna padrão.
Os usuários devem deixar isso vazio e definir default_charset
em vez disso.
mbstring.http_input
stringEste recurso defasado certamente será removido no futuro.
Define a codificação de caracteres de entrada HTTP padrão.
Os usuários devem deixar isso vazio e definir default_charset
em vez disso.
mbstring.http_output
stringEste recurso defasado certamente será removido no futuro.
Define a codificação de caracteres de saída HTTP padrão (a saída será convertida da codificação interna para a codificação de saída HTTP na saída).
Os usuários devem deixar isso vazio e definir default_charset
em vez disso.
mbstring.detect_order
stringDefine a ordem padrão de detecção de código de caracteres. Veja também mb_detect_order().
mbstring.substitute_character
stringDefine o caractere a ser substituído por codificação de caracteres inválida. Veja mb_substitute_character() para os valores suportados.
mbstring.func_overload
stringEste recurso tornou-se DEFASADO a partir do PHP 7.2.0 e foi REMOVIDO a partir do PHP 8.0.0. O uso deste recurso é fortemente desencorajado.
Sobrecarrega um conjunto de funções de byte único pelas contrapartes do mbstring. Veja Sobrecarga de Funções para mais informações.
Esta configuração só pode ser alterada no arquivo php.ini.
mbstring.http_output_conv_mimetypes
stringmbstring.strict_detection
boolAtiva a detecção estrita de codificação. Veja mb_detect_encoding() para uma descrição e exemplos.
mbstring.regex_retry_limit
intLimita a quantidade de retrocesso que pode ser executada durante uma correspondência de mbregex.
Esta configuração só tem efeito ao vincular contra oniguruma >= 6.8.0.
mbstring.regex_stack_limit
intLimita a profundidade da pilha de expressões regulares mbstring.
De acordo com a » especificação HTML 4.01, os navegadores da web podem codificar um formulário sendo enviado com uma codificação de caracteres diferente da usada para a página. Veja mb_http_input() para detectar a codificação de caracteres usada pelos navegadores.
Embora os navegadores populares sejam capazes de fazer uma suposição razoavelmente precisa sobre a codificação de caracteres de um documento HTML específico, seria melhor definir o parâmetro charset
no cabeçalho HTTP Content-Type
para o valor apropriado usando a função header() ou a configuração ini default_charset.
Exemplo #1 Exemplos de configuração do php.ini
; Set default language mbstring.language = Neutral; Set default language to Neutral(UTF-8) (default) mbstring.language = English; Set default language to English mbstring.language = Japanese; Set default language to Japanese ;; Set default internal encoding ;; Note: Make sure to use character encoding works with PHP mbstring.internal_encoding = UTF-8 ; Set internal encoding to UTF-8 ;; HTTP input encoding translation is enabled. mbstring.encoding_translation = On ;; Set default HTTP input character encoding ;; Note: Script cannot change http_input setting. mbstring.http_input = pass ; No conversion. mbstring.http_input = auto ; Set HTTP input to auto ; "auto" is expanded according to mbstring.language mbstring.http_input = SJIS ; Set HTTP input to SJIS mbstring.http_input = UTF-8,SJIS,EUC-JP ; Specify order ;; Set default HTTP output character encoding mbstring.http_output = pass ; No conversion mbstring.http_output = UTF-8 ; Set HTTP output encoding to UTF-8 ;; Set default character encoding detection order mbstring.detect_order = auto ; Set detect order to auto mbstring.detect_order = ASCII,JIS,UTF-8,SJIS,EUC-JP ; Specify order ;; Set default substitute character mbstring.substitute_character = 12307 ; Specify Unicode value mbstring.substitute_character = none ; Do not print character mbstring.substitute_character = long ; Long Example: U+3000,JIS+7E7E
Exemplo #2 php.ini configuração para usuários EUC-JP
;; Disable Output Buffering output_buffering = Off ;; Set HTTP header charset default_charset = EUC-JP ;; Set default language to Japanese mbstring.language = Japanese ;; HTTP input encoding translation is enabled. mbstring.encoding_translation = On ;; Set HTTP input encoding conversion to auto mbstring.http_input = auto ;; Convert HTTP output to EUC-JP mbstring.http_output = EUC-JP ;; Set internal encoding to EUC-JP mbstring.internal_encoding = EUC-JP ;; Do not print invalid characters mbstring.substitute_character = none
Exemplo #3 php.ini configuração para usuários SJIS
;; Enable Output Buffering output_buffering = On ;; Set mb_output_handler to enable output conversion output_handler = mb_output_handler ;; Set HTTP header charset default_charset = Shift_JIS ;; Set default language to Japanese mbstring.language = Japanese ;; Set http input encoding conversion to auto mbstring.http_input = auto ;; Convert to SJIS mbstring.http_output = SJIS ;; Set internal encoding to EUC-JP mbstring.internal_encoding = EUC-JP ;; Do not print invalid characters mbstring.substitute_character = none