Avatar billede michaelgm Nybegynder
10. oktober 2007 - 20:00 Der er 4 kommentarer og
1 løsning

Simplexml og encoding

Nogen der ved hvordan man får danske tegn med? .. Har ikke mulighed for at ændre i min xml i hvertfald ikke manuelt.. så skal det ske efter upload.

men man kan vel gøre det samme tid med man trækker det ud i php?
har prøvet med utf8_decode() .. så kommer der slet ikke noget frem.

Nogen der har et forslag. Har søgt på "simplexml encoding" "xml encoding" og har ikke kunne finde noget der har virket. Fik det til at virke da jeg brugte:

$xml_parser = xml_parser_create();
xml_parser_set_option($xml_parser,XML_OPTION_TARGET_ENCODING,'ISO-8859-1');

Men efter ErikJacobsen spurgte om jeg ikke brugte php5 fandt jeg frem til simplexml.. Så det er det jeg prøver på nu..

if (file_exists('film2.xml')) {

    $xml = simplexml_load_file('film2.xml');
    //$xml = utf8_decode($xml); forsøg på encoding
    //print_r($xml);
   
    echo $xml->DVD[0]->Title;   
   
} else {
    exit('Failed to open film2.xml.');
}
Avatar billede olebole Juniormester
10. oktober 2007 - 20:14 #1
<ole>

Skal du bruge utf8_decode, skal det være på indholdet af de enkelte XML-elementer - ikke på hele dokumentet.

En helt anden ting er, at det nok ville være bedst at lægge fuldstændig om til utf-8. 'iso-8859-1' hører fortiden til og vil altid skabe kompatibillitets problemer.
JavaScripts 'gamle' ANSI-baserede funktioner 'escape' og 'unescape' er således deprecated og erstattet af unicode-funktionerne 'encodeURI', 'encodeURIComponent', 'decodeURI' og 'decodeURIComponent'

/mvh
</bole>
Avatar billede michaelgm Nybegynder
10. oktober 2007 - 20:32 #2
Mange tak.
Må indrømme jeg ikke er så meget inde i de forskellige encoding. Og for den sags skyld javascript. Men tak for det fine svar og håber en dag jeg helt forstår hvad du mener med gamle ANSI-baserede funtioner.

Men fik utf8_decode til at virke.
Du må gerne smide et svar.

Mvh Michael.
Avatar billede olebole Juniormester
10. oktober 2007 - 20:47 #3
Læg du bare selv et svar og accepter det - men tak for tilbudet  :)
Avatar billede michaelgm Nybegynder
10. oktober 2007 - 21:01 #4
Som Olebole skrev var det på hvert enkelt XML-element der skulle utf8_decode's

Så min kode kom til at se sådan her ud:

if (file_exists('film2.xml')) {

    $xml = simplexml_load_file('film2.xml');
   
    echo utf8_decode($xml->DVD[0]->Title);   
   
} else {
    exit('Failed to open film2.xml.');
}
Avatar billede michaelgm Nybegynder
10. oktober 2007 - 21:01 #5
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester