Karakteri koji se koriste u XML dokumentima pripadaju Unicode karakter setu, tj. zadovoljavaju Unicode standard. Unicode predstavlja najvažniju ekstenziju svima poznatog ASCII karakter seta. Za samo uspostavljanje i objavljivanje Unicode standarda odgovoran je Unicode konzorcijum (Unicode Consortium – www.unicode.org). Isti standard obuhvaćen je i ISO specifikacijom, i to standardom ISO/IEC 10646. Unicode karakter set podržava karaktere gotovo svih govornih jezika, kao i matematičke i druge simbole. Pored engleskog i ostalih zapadnoevropskih jezika, podržava i japanski, kineski, kao i našu ćirilicu. Treba reći i to da podrška svih subjekata Unicode standardu predstavlja najvažniji korak u internacionalizaciji Interneta.
Međutim, da bi Unicode pokrio sve govorne jezike karakterima, potrebno mu je 16 bita po karakteru. Do sada ste verovatno koristili druge slične karakter setove, kao što je Latin-1 (podrazumevani Windows-ov karakter set), koji koristi samo 8 bita po karakteru. Kao što znamo, 8 bita obezbeđuje samo 256 karaktera, što nije dovoljno ni za pokrivanje japanskog jezika, a da ne govorimo još i o ostalim jezicima (kao što su kineski, srpski, mađarski itd.). Pošto svaki Unicode karakter zauzima 16 bita, što je dva puta više nego kod njegovog ekvivalenta Latin-1 set, i sami XML bi trebalo da su dva puta veći od normalnih tekstualnih fajlova. Na svu sreću, postoji rešenje. U najvećem broju slučajeva nije nam potrebno svih 16 bita po karakteru, te XML dokumente možemo formirati sa 8-bitnim karakter setom.
Pri tome, XML procesor jednako mora da prepozna i UTF-8 set i UTF-16 set. Kao što i sam naziv implicira, karakter set UTF-8 koristi 8 bita za karaktere i pokriva sve engleske karaktere. Većina XML procesora podržava i druge karakter setove. Tako na primer, zapadnoevropske jezike podržava karakter set ISO 8859-1, što je oficijelni naziv za poznati Latin-1 set. XML dokumenti koji se formiraju različitim setovima od UTF-8 ili UTF-16 seta, moraju početi određenom deklaracijom. Deklaracija mora da sadrži atribut encoding, koji najavljuje koji će se set koristiti. Na primer, dokument napisan Latin-1 karakter setom trebalo bi da koristi sledeću deklaraciju:
<?xml version="1.0" encoding="ISO-8859-1"?>
<ulaz>
<ime>Petar Petrovic<ime/>
<email href="mailto:pera@email.com"/>
</ulaz>
Pratite Krstaricu na www.krstarica.com