Configurația la rulare

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

Opțiuni de configurare pentru mbstring
Denumirea Valoarea implicită Poate fi modificată Jurnalul modificărilor
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. Eliminată în PHP 5.4.0. Folosiți în loc zend.script_encoding.
mbstring.substitute_character NULL PHP_INI_ALL Disponibilă începând cu PHP 4.0.6.
mbstring.func_overload "0" PHP_INI_SYSTEM PHP_INI_PERDIR de la PHP 4.3 până la 5.2.6, în caz contrar PHP_INI_SYSTEM. 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. Începând cu PHP 5.6.0, dacă această setare e vidă, va fi utilizată default_charset.

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 (caracterele trimise vor fi convertite la transmitere din codarea internă în codarea HTTP).

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.

Această setare poate fi schimbată doar din fișierul php.ini.

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 în conformitate cu mbstring.language
mbstring.http_input           = SJIS    ; Stabilește intrările HTTP în 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
1 year 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