|
8.67.8 Exploitation des chaînes multi-octets en PHP
Comme presque tout PHP est écrit pour des langues qui sont
simple-octets, il y a des difficultés à gérer le japonais. Toutes
les fonctions PHP de gestion des chaînes de caractères, comme
substr
ne supportent par
les chaînes multi-octets.
L'extension Multibyte (multi-octets, alias mbstring) dispose de fonctions
de chaînes, qui supportent le multi-octet, comme
mb_substr
, qui est un remplaçant de
substr
.
mbstring supporte aussi le remplacement de fonction, pour
permettre le support des chaînes multi-octets sans modifier les
scripts PHP. En utilisant ce système de remplacement de fonctions,
certaines fonctions PHP seront remplacées par leur équivalent
de mbstring. Par exemple
mb_substr
remplacera
substr
. Ce système de remplacement transparent,
permet un portage simple et efficace des applications.
mbstring.func_overload
, dans le
php.ini
,
doit être configuré avec une valeur positive :
1 remplace la fonction d'envoi de mail ; 2 active les
fonction de chaînes ; 4 active les fonctions d'expression rationnelles.
Par exemple, avec la valeur 7, toutes les fonctions possibles sont
remplacées. Voici la liste complète des fonctions remplacées, avec
leur fonction de remplacement.
| Note | |
Il n'est pas recommandé d'utiliser les options des fonctions d'overloading
dans un contexte de
per-directory
, car il n'est pas
confirmé encore qu'elles sont suffisamment stables dans un environnement
de production et peuvent conduire à un résultat incohérent.
|
|