Ongelma on se, että lukiessani luomastani XML-dokumentista dataa PHP:llä, PHP tulostaa aina UTF-8 koodattua tekstiä outputtina. XML-dokumettini alussa olen ilmoittanut koodaukseksi: , siis skandit tuettuna (validointi onkin passi).
Siis PHP lukee XML-dokumettini ihan oikein, mutta kun käytän taas xhtml-dokumentissani PHP:n tuottamaa teksiä, niin se on UTF-8:aa, vaikka xhtml-dokumentin encoding on iso-8859-1. Eli mikä asetus on pielessä? Apachessa, PHP:ssä? Miksi PHP:n sisäinen koodaus on aina UTF-8?
Jos joku osaa kertoa, niin olisin kiitollinen,
Siis PHP lukee XML-dokumettini ihan oikein, mutta kun käytän taas xhtml-dokumentissani PHP:n tuottamaa teksiä, niin se on UTF-8:aa, vaikka xhtml-dokumentin encoding on iso-8859-1. Eli mikä asetus on pielessä? Apachessa, PHP:ssä? Miksi PHP:n sisäinen koodaus on aina UTF-8?
Jos joku osaa kertoa, niin olisin kiitollinen,
Vastaukset 1
Vanhimmat
Nykyään on suositeltavaa ja hyvä käytäntö rakentaa kaikki sivustot ja järjestelmät käyttämällä unicode UTF-8 koodausta:
http://www.webmasterworld.com/forum21/11176.htm
http://dbaron.org/log/2006-02#e20060212a
Jos edelleen haluat isoa...
Miten luet XML-dokumentin? PHP: DOM funktioilla http://fi2.php.net/dom ?
XML käsitellään aina sisäisesti utf-8:na, riippumatta siitä, mikä on XML-dokumentin koodaus. Kaikki myös tulee ulos utf-8 koodattuna. Ratkaisu on ajaa tulostettava materiaali utf8_decode() http://us3.php.net/manual/fi/function.utf8-decode.php
funktion läpi.