/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Parsning af XML-fil fejler første gang "æ"~
Fra : J. Nielsen


Dato : 17-04-07 21:58

Hej,

Jeg benytter xml_parse() til at parse en xml-fil.

Jeg benytter xml_parser_create(), xml_set_element_handler(),
xml_set_character_data_handler() inden jeg kalder xml_parse().

Jeg har sat data-handleren til at være en function, der hedder
"dataHandler":
xml_set_character_data_handler($xml_parser, "dataHandler");

Min xml-fil indeholder bl.a.

<item type="note">
<title>Test af æøå - Test af æøå</title>
</item>

Mit problem er ret ligetil: Når xml-filen parses, så kaldes dataHandler to
gange under parsning af det ovenstående xml. Første gang med strengen "Test
af " og anden gang med strengen "æøå - Test af æøå".

Det tyder på, at der er et eller anden med håndteringen af det danske ø. Men
kun første gang, det mødes i data-elementet (anden gang dataHandler kaldes
er det med stregen "æøå - Test af æøå").

Jeg har forgæves forsøgt explicit at angive ISO-8859-1 som tegnsæt, når jeg
opretter parseren:
$xml_parser = xml_parser_create("ISO-8859-1");

Nogen forslag?

Mvh
Jakob



 
 
Michael Zedeler (18-04-2007)
Kommentar
Fra : Michael Zedeler


Dato : 18-04-07 01:26

J. Nielsen skrev:
> Mit problem er ret ligetil: Når xml-filen parses, så kaldes dataHandler to
> gange under parsning af det ovenstående xml. Første gang med strengen "Test
> af " og anden gang med strengen "æøå - Test af æøå".
>
> [...]
>
> Jeg har forgæves forsøgt explicit at angive ISO-8859-1 som tegnsæt, når jeg
> opretter parseren:
> $xml_parser = xml_parser_create("ISO-8859-1");

Prøv at stoppe det ind i xml-filen hvor det jo dybest set hører til. Du
skal bare tilføje denne her pi i starten:

<?xml encoding="ISO-8859-1"?>

Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
I am less likely to answer usenet postings by anonymous authors.
Visit my home page at http://michael.zedeler.dk/

J. Nielsen (18-04-2007)
Kommentar
Fra : J. Nielsen


Dato : 18-04-07 08:44

>> Mit problem er ret ligetil: Når xml-filen parses, så kaldes dataHandler
>> to gange under parsning af det ovenstående xml. Første gang med strengen
>> "Test af " og anden gang med strengen "æøå - Test af æøå".
>>
>> [...]
>>
>> Jeg har forgæves forsøgt explicit at angive ISO-8859-1 som tegnsæt, når
>> jeg opretter parseren:
>> $xml_parser = xml_parser_create("ISO-8859-1");
>
> Prøv at stoppe det ind i xml-filen hvor det jo dybest set hører til. Du
> skal bare tilføje denne her pi i starten:
>
> <?xml encoding="ISO-8859-1"?>

Første linie i xml-filen er allerede

<?xml version="1.0" encoding="ISO-8859-1"?>

Så det er ikke problemet.

Jeg forstår ikke, hvorfor problemet kun opstår første gang "æ" mødes. Jeg
mener, at hvis det var et tegnsæts-problem, så burde fejlen jo opstå hver
gang parseren møder et "æ".



Michael Rasmussen (18-04-2007)
Kommentar
Fra : Michael Rasmussen


Dato : 18-04-07 08:56

On Wed, 18 Apr 2007 09:44:01 +0200
"J. Nielsen" <jakob_bro_n@hotmail.com> wrote:

>
> <?xml version="1.0" encoding="ISO-8859-1"?>
>
Du har ikke oprettet filen i en editor, der gemmer i et andet tegnsæt?
F.eks utf-8 eller windows-1252

--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917
A computer is like air conditioning: it becomes useless when you open
windows.

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste