Gå til innhold

merkelig xml character encoding error i rss


Anbefalte innlegg

jeg i ferd med å programmere min egen blog i php/mysql som lite prosjekt. når jeg skal lage en validert rss-fil i php, får jeg en merkelig feilbeskjed.

XML Parsing Error: xml declaration not at start of external entity
Location: http://www.min.url.com/rss.php
Line Number 3, Column 1:<?xml version="1.0" encoding="iso-8859-15"?>

problemet ligger i character encoding, og i kilekoden bli æ,ø, og å vist som spørsmålstegn. allikevel skulle man tro at enconing="iso-8859-15" ville gjøre susen, men tydeligvis ikke. her et scriptet:

<?php
header("Content-type: text/xml");
include ("../../mysql.php");
include ("config.php");
echo "<?xml version=\"1.0\" encoding=\"iso-8859-15\"?>\n";
?>
<rss version="0.92">
   <channel>
       <title>sidetittel</title>
       <link>http://www.url.com</link>
       <description>******'s weblog</description>
       <lastBuildDate><?php echo gmdate("D, d M Y H:i:s"); ?> GMT</lastBuildDate>
       <docs>http://backend.userland.com/rss092</docs>
       <managingEditor>[email protected]</managingEditor>
       <webMaster>[email protected]</webMaster>
       <language>no</language>

<?php
$result = mysql_query("SELECT * FROM blog ORDER BY id DESC");
$items_count = 0; while($row = mysql_fetch_object($result)) {
echo "\t<item>\n";
echo "\t\t<title>".$row->topic."</title>\n";
echo "\t\t<description>".$row->content."</description>\n";
echo "\t\t<link>http://www.min.url.com/blog.php?id=".$row->id."</link>\n";
echo "\t</item>\n";
$items_count++;
if (($items_count == $pagenr) && empty($m)) {
   break;
}
}
?>
   </channel>
</rss>

skjønner ikke hvorfor det oppstår feil. <a href="http://feedvalidator.org">feedvalidator</a> konkluderer også med at det er en character encoding feil:

line 3, column 0: XML parsing error: <unknown>:3:0: xml declaration not at start of external entity [help]
   <?xml version="1.0" encoding="iso-8859-15"?>

Endret av welovesundays
Lenke til kommentar
Videoannonse
Annonse

Hva slags tegnsett sender du ut siden med? Det vanligste er vel ISO-8859-1 og UTF-8.

Ser at du har definert tegnsettet ISO-8859-15 i XML-fila, blir vel kluss vis innholdet egentlig har en annen encoding.

 

Putt inn "header('Content-Type: application/rss+xml; charset=ISO-8859-15');"

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...