A Extensão XML do PHP suporta o conjunto de caracteres » Unicode definido por
diferentes codificaƧƵes de caracteres
diferentes. HÔ dois tipos de codificação de caracteres, codificação
da fonte e codificação do destino.
A apresentação interna do PHP do documento é sempre codificada
com UTF-8.
Codificação na fonte é feita quando um documento XML é analisado. Ao criar um analisador
XML, uma codificação na fonte pode ser especificada (esta codificação
não poderÔ ser alterada mais tarde durante a atividade do analisador XML). As
codificações na fonte suportadas são ISO-8859-1,
US-ASCII e UTF-8. As duas
primeiras são codificações de um byte, o que significa que cada
caractere Ć© representado por um Ćŗnico byte.
UTF-8 pode codificar caracteres compostos por
um número variÔvel de bits (até 21) em um a quatro bytes. A
codificação na fonte padrão usada pelo PHP é
ISO-8859-1.
Codificação no destino é feita quando o PHP passa dados para as funções do analisador XML. Quando um analisador XML é criado, a codificação no destino é definido como a mesma da fonte, mas isto pode ser alterado a qualquer momento. A codificação no destino afetarÔ dados de caracteres e também nomes de etiquetas e alvos de instrução de processamento.
Se o analisador XML encontrar caracteres de fora da faixa na qual sua codificação na fonte seja capaz de representar, ele retornarÔ um erro.
Se o PHP encontrar caracteres no documento XML analisado que nĆ£o possam ser representados na codificação de destino escolhida, os caracteres com problema serĆ£o "rebaixados". Atualmente, isto significa que tais caracteres serĆ£o substituĆdos por um sinal de interrogação.