7.51.1 Introduction
De nombreuses langues dont les signes ne peuvent pas être exprimés
sur un seul octet. Des codes multi-octets sont utilisés pour
pallier à cette insuffisance.
mbstring
est développé pour supporter les caractères japonais. Cependant,
de nombreuses fonctions
mbstring
peuvent supporter
d'autres jeux de caractères.
Les jeux de caractères multi-octets représentent les caractères
sur plusieurs octets consécutifs (d'où leur nom). Certains
systèmes d'encodages ont des caractères d'échappement
dédiés, pour démarrer/finir une séquence de
caractères multi-octets. De ce fait, certains caractères
peuvent être détruit lorsqu'une chaîne est
coupée en plusieurs morceaux, ou bien conduire à des résultats
erronnés lorsque le nombre de caractère est compté. Il faut utiliser
des fonctions qui supportent ces encodages. Les fonctions
mbstring
supportent les jeux de caractères
multi-octets, ainsi que les conversions.
Etant donné que PHP supporte essentiellement le jeu de
caractères ISO-8859-1, certains jeux de caractères
ne fonctionnent pas bien avec PHP. Par conséquent,
il est important de donner une valeur à l'option de configuration
mbstring.internal_encoding
qui permettent à PHP de
travailler correctement.
Pré-requis PHP 4
-
Encodage par octet
-
Les caractères d'un octet dans l'intervalle
00h-7fh
doivent être compatibles avec le code
ASCII
-
Jeux de caractères multi-octets, qui n'utilisent pas l'intervalle
00h-7fh
.
Voici des exemples d'encodage internes :
Jeu de caractères qui fonctionnent avec PHP |
Jeus de caractères qui fonctionnent avec PHP : ISO-8859-*, EUC-JP, UTF-8
Jeu de caractères qui NE fonctionnent PAS avec PHP : JIS, SJIS
|
Les jeux de caractères qui ne fonctionnent pas comme encodage interne
à PHP, peuvent toutefois être utilisé avec les fonctions de conversion
de
mbstring
.
Note |
SJIS ne doit pas être utilisé comme encodage interne, à
moins que vous ne soyez familier de l'analyseur/compilateur, et des
problèmes liés aux jeux de caractères.
|
Note |
SI vous utilisez une base de données avec PHP, il est recommandé
que vous utilisiez le même jeu de caractère pour la base de données
et le jeu de caractère interne de PHP, pour améliorer les performances.
Si vous utilisez PostgreSQL, il supporte des jeux de caractères qui
peuvent être différents de ceux du client. Reportez vous au manuel
de PostgreSQL pour plus de détails.
|
|