Gå til innhold

Bugga æ,ø og å med simplexml


Anbefalte innlegg

Hei.

 

Jeg har et xml-dokument som inneholder æ, ø og å.

Men når jeg bruker simplexml til å loade den xml-fila i PHP, så blir disse bokstavene helt bugga: Ø -> Ø, Å -> Ã¥ etc.

 

Her er en forenklet versjon av scriptet jeg bruker for å loade xml'en:

<?php
if (file_exists($filename))
{
  $xml = simplexml_load_file($filename);
  foreach ($xml->entry as $entry)
  {
   ?>
     <div><?php echo $entry->name; ?></div>
   <?php
   }
}
?>

 

Her er XML-dokumentet:

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

<list>
<entry>
 <name>Dette er et naæåøvn.</name>
 <nick>dette er et nick! æøå!</nick>
</entry>
</list>

 

ect. etc.

 

Jeg antar jeg må angi et characterset når fila loades i PHP, men hvordan gjør jeg det? :p

 

Takker for svar.

Lenke til kommentar
Videoannonse
Annonse

Characterset har du allerede angitt i XML-filen (encoding="iso-8859-1"), og det er helt rett.

 

This extension is EXPERIMENTAL. The behaviour of this extension -- including the names of its functions and anything else documented about this extension -- may change without notice in a future release of PHP. Use this extension at your own risk.

 

SimpleXML does not work with xml namespaces :-(

 

:(

Lenke til kommentar
Hei.

 

Jeg har et xml-dokument som inneholder æ, ø og å.

Men når jeg bruker simplexml til å loade den xml-fila i PHP, så blir disse bokstavene helt bugga: Ø -> Ø, Å -> Ã¥ etc.

 

[snipp]

 

Her er XML-dokumentet:

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

<list>
<entry>
 <name>Dette er et naæåøvn.</name>
 <nick>dette er et nick! æøå!</nick>
</entry>
</list>

 

ect. etc.

 

Jeg antar jeg må angi et characterset når fila loades i PHP, men hvordan gjør jeg det? :p

 

Takker for svar.

Er du sikker på at du bruker rett tegnsett i xml-dokumentet? Ø -> Ø, Å -> Ã¥ <-- Dette er nemlig slik bokstavene pleier å bli dersom du har et utf8 dokument og prøver å lese dette som iso-8859-1. Du kan prøve å enten sette encoding="utf8" i xml-dokumentet ditt, eller skrive dokumentet med iso-8859-1.

Lenke til kommentar
iso-8859-1 er vestlig europeisk, og skal fungere med æ, ø og å.

Joda, iso-8859-1 er for vesteuropeisk og fungerer bra for norsk. Utf8 støtter også norsk, i tillegg til de fleste andre språk og er veldig grei å bruke slik at du kan støtte alle slags språk uten å måtte skifte tegnsett.

 

Det jeg prøver å si er at det ser ut som trådstarter har en fil som er kodet i utf8, men som han har sagt at er iso-8859-1 i xmlen. Dette blir det av forstålige grunner problmer av. Om han bruker utf8 eller iso-8859-1 er likegyldig i dette tilfellet, (selv om jeg kanskje vil anbefale utf8) problemet er at fila er kodet i et annet tegnsett enn det han oppgir det for å være.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...