Configurația la rulare

Comportamentul acestor funcții este afectat de parametrii stabiliți în php.ini.

Opțiuni de configurare pentru mbstring
Denumire Valoare implicită Se poate schimba Istoric schimbări
mbstring.language "neutral" PHP_INI_ALL Disponibilă începând cu PHP 4.3.0. PHP_INI_PERDIR în PHP <= 5.2.6
mbstring.detect_order NULL PHP_INI_ALL Disponibilă începând cu PHP 4.0.6.
mbstring.http_input "pass" PHP_INI_ALL Disponibilă începând cu PHP 4.0.6.
mbstring.http_output "pass" PHP_INI_ALL Disponibilă începând cu PHP 4.0.6.
mbstring.internal_encoding NULL PHP_INI_ALL Disponibilă începând cu PHP 4.0.6.
mbstring.script_encoding NULL PHP_INI_ALL Disponibilă începând cu PHP 4.3.0.
mbstring.substitute_character NULL PHP_INI_ALL Disponibilă începând cu PHP 4.0.6.
mbstring.func_overload "0" PHP_INI_SYSTEM PHP_INI_SYSTEM în PHP <= 4.2.3; PHP_INI_SYSTEM | PHP_INI_PERDIR de la PHP 4.3 până la 5.2.6. Disponibilă începând cu PHP 4.2.0.
mbstring.encoding_translation "0" PHP_INI_PERDIR Disponibilă începând cu PHP 4.3.0.
mbstring.strict_detection "0" PHP_INI_ALL Disponibilă începând cu PHP 5.1.2.
Pentru mai multe detalii și definiții ale modurilor PHP_INI_* accesați Where a configuration setting may be set.

Iată o explicație pe scurt a directivelor de configurare.

mbstring.language string

Setarea implicită a limbii (NLS) folosită de mbstring. Atenție, această opțiune definește automat mbstring.internal_encoding și mbstring.internal_encoding așa că schimbările acestor setări din urmă trebuie plasate după mbstring.language în php.ini

mbstring.encoding_translation boolean

Activează filtrul automat de codare a caracterelor care efectuează detecția și conversia codării caracterelor din cea folosită în datele HTTP primite în codarea internă a caracterelor.

mbstring.internal_encoding string

Definește codarea internă a caracterelor.

mbstring.http_input string

Definește codarea implicită a caracterelor introduse prin HTTP.

mbstring.http_output string

Definește codarea implicită a caracterelor trimise prin HTTP către client.

mbstring.detect_order string

Definește ordinea implicită de detecție a codării caracterelor. Vedeți și mb_detect_order().

mbstring.substitute_character string

Definește caracterul de înlocuire pentru caracterele care sunt găsite într-o codare necorespunzătoare.

mbstring.func_overload string

Suprascrie un set de funcții pentru stringuri pe un singur octet cu echivalentele din mbstring. Vedeți Suprascrierea funcțiilor pentru mai multe informații.

mbstring.strict_detection boolean

Activează detecția strictă a codării.

Conform » specificațiilor HTML 4.01, navigatoarelor web le este permis să codeze un formular completat cu o codare de caractere diferită de cea utilizată de pagină. Vedeți funcția mb_http_input() pentru a detecta codările de caractere utilizate de navigatoare.

Deși navigatoarele cele mai utilizate sunt capabile să intuiască destul de precis codarea caracterelor dintr-un document HTML, ar fi mai bine să setați parametrul charset din antetul HTTP Content-Type la o valoare corespunzătoare folosind funcția header() sau setarea ini default_charset.

Example #1 exemple de setări în php.ini

; Stabilește limba implicită
mbstring.language        = Neutral; Stabilește limba implicită la Neutral(UTF-8) (implicit)
mbstring.language        = English; Stabilește limba implicită la English
mbstring.language        = Japanese; Stabilește limba implicită la Japanese

;; Stabilește codarea internă implicită
;; Notă: Asigurați-vă că folosiți o codare de caractere care funcționează cu PHP
mbstring.internal_encoding    = UTF-8  ; Stabilește codarea internă la UTF-8

;; Conversia codării datelor HTTP este activată.
mbstring.encoding_translation = On

;; Stabilește codarea implicită pentru datele primite prin HTTP
;; Notă: Scripturile nu pot schimba setarea http_input.
mbstring.http_input           = pass    ; Fără conversie
mbstring.http_input           = auto    ; Conversie automată
                                ; „auto” este extins la „ASCII,JIS,UTF-8,EUC-JP,SJIS”
mbstring.http_input           = SJIS    ; Conversie la SJIS
mbstring.http_input           = UTF-8,SJIS,EUC-JP ; Specifică ordinea

;; Stabilește codarea implicită pentru datele trimise prin HTTP
mbstring.http_output          = pass    ; Fără conversie
mbstring.http_output          = UTF-8   ; Conversia datelor trimise prin HTTP la UTF-8

;; Stabilește ordinea implicită a detecției codării caracterelor
mbstring.detect_order         = auto    ; Automat
mbstring.detect_order         = ASCII,JIS,UTF-8,SJIS,EUC-JP ; Specifică ordinea

;; Stabilește caracterul implicit de înlocuire
mbstring.substitute_character = 12307   ; Specifică valoarea Unicode
mbstring.substitute_character = none    ; Nu afișa caracterul
mbstring.substitute_character = long    ; Exemplu lung: U+3000,JIS+7E7E

Example #2 setări în php.ini pentru utilizatorii EUC-JP

;; Dezactivează tamponul de ieșire
output_buffering      = Off

;; Stabilește setul de caractere trimis în antetul HTTP
default_charset       = EUC-JP

;; Stabilește limba implicită la Japanese
mbstring.language = Japanese

;; Conversia codării datelor HTTP este activată.
mbstring.encoding_translation = On

;; Stabilește codarea implicită pentru datele primite prin HTTP la auto
mbstring.http_input   = auto

;; Convertește datele trimise prin HTTP la EUC-JP
mbstring.http_output  = EUC-JP

;; Stabilește codarea internă la EUC-JP
mbstring.internal_encoding = EUC-JP

;; Nu afișa caracterele invalide
mbstring.substitute_character = none

Example #3 setări în php.ini pentru utilizatorii SJIS

;; Activează tamponul de ieșire
output_buffering     = On

;; Stabilește gestionarul de ieșire la mb_output_handler pentru a activa conversia datelor ieșite
output_handler       = mb_output_handler

;; Stabilește setul de caractere folosit în antetele HTTP
default_charset      = Shift_JIS

;; Stabilește limba implicită la Japanese
mbstring.language = Japanese

;; Stabilește codarea implicită pentru datele primite prin HTTP la auto
mbstring.http_input  = auto

;; Convertește la SJIS
mbstring.http_output = SJIS

;; Stabilește codarea internă la EUC-JP
mbstring.internal_encoding = EUC-JP

;; Nu afișa caracterele invalide
mbstring.substitute_character = none

add a note add a note

User Contributed Notes 1 note

up
0
PRETTYGIRL NOT COMe
8 months ago
Note that you should better at least set "mbstring.internal_encoding".

Just check as below:

<?php

echo mb_internal_encoding() . '<br />';
echo
mb_regex_encoding();

?>

You might be surprised at unexpected values.

eg.

mbstring.language Japanese
;mbstring.internal_encoding (commented out showing "no value" in phpinfo() )

These two lines in "php.ini" are the same values as

mb_internal_encoding("EUC-JP");
mb_regex_encoding("EUC-JP");

in Win / Linux servers.

"mbstring.internal_encoding" defines the default encoding for "mb_" Functions such as "mb_strlen()".

It also defines the same for "mb_ereg_" Functions such as "mb_ereg()" when you don't set "mb_regex_encoding".
To Top