welovesundays Skrevet 16. november 2006 Skrevet 16. november 2006 (endret) 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 16. november 2006 av welovesundays
PHPdude Skrevet 16. november 2006 Skrevet 16. november 2006 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');"
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå