7.109.10 Codage des caractères
L'extension XML de PHP supporte les caractères
Unicode grâce à
différents codages. Il y a deux types de codages de
caractères : le codage à la source et le codage à
la cible. PHP utilise le
UTF-8
comme
représentation interne.
L'encodage à la source est effectué lors de
l'analyse du fichier par XML.
Lors de la création
d'un analyseur XML ), un type de codage à la
source doit être spécifié (et il ne pourra plus
être modifié jusqu'à la destruction de
l'analyseur). Les codages supportés sont :
ISO-8859-1
,
US-ASCII
et
UTF-8
. Les deux derniers sont des codages
à un seul octet, c'est-à-dire que les caractères
sont représentés sur un seul octet.
UTF-8
peut représenter des caractères composés par un
nombre variable de bits (jusqu'à 21), allant de 1 à
quatre octets. Le codage par défaut utilisé par PHP
ISO-8859-1
.
Le codage à la cible est effectué lorsque PHP transfert
les données aux gestionnaires XML. Lorsqu'un analyseur est
créé, le codage à la cible est spécifié
de la même façon que le codage à la source, mais
il peut être modifié à tout moment. Le codage
à la cible affectera les balises, tout comme les
données brutes, et les noms des instructions exécutables.
Si l'analyseur XML rencontre un caractère qu'il ne
connaît pas (hors limite, par exemple), il retournera une erreur.
Si PHP rencontre un caractère dans le document XML analysé,
qu'il ne peut pas représenter dans le codage à la cible
choisi, le caractère sera remplacé par un point
d'interrogation (cette attitude est susceptible de changer
ultérieurement).
|