PHP'nin XML eklentisi karakter kodlamaları arasında
dönüşüm için » Evrenkod karakterlerini
kullanır. İki tür karakter kodlaması vardır: kaynak
kodlaması ve hedef kodlaması.
PHP'nin dahili belge gösterimi daima UTF-8
ile kodlanır.
Kaynak kodlaması XML belge
çözümlenirken yapılır. Kaynak kodlaması XML çözümleyici oluşturulurken belirtilebilir (bu
kodlama XML çözümleyici işleme başladıktan sonra bir daha değiştirilemez).
Desteklenen kaynak kodlamaları ISO-8859-1
,
US-ASCII
ve UTF-8
'dir. İlk ikisinde
karakterler tek baytlıktır. UTF-8
karakterleri bir bayttan
dört bayta kadar farklı sayıda bayttan oluşabilir. PHP'de kullanılan
öntanımlı kaynak karakter kodlaması ISO-8859-1
'dir.
Kaynak kodlaması, PHP veriyi XML eylemci işlevlerine aktarırken kullanılır. Bir XML çözümleyici oluşturulduğunda hedef kodlaması kaynak kodlaması ile aynı yapılır, fakat istenirse her an değiştirilebilir. Hedef kodlaması karakter verisinin yanında etiket isimleri ile işlem komutlarının hedeflerini de etkiler.
Eğer XML çözümleyici, kaynak karakter kodlamasında gösterimi mümkün olmayan karakterlere rastlarsa hata verir.
Eğer PHP, çözümlenen XML belgede seçilen hedef kodlamasıyla gösterilemeyen karakterler bulunduğunu saptarsa sorunlu karakterler "indirgenir". Şimdilik bunu gerçeklemek için bu karaterlerin yerine soru imleri konmaktadır.