webForumDet fria alternativet

RSS-feed

20 svar · 951 visningar · startad av Helmertz

HelmertzMedlem sedan maj 2005353 inlägg
#1

Jag har nyss skapat ett supersimpelt PHP-dokument som fungerar som RSS-feed. Problemet är bara det att alla mina å, ä och ö byts ut mot ?, vilket i sin tur ställer till problem som jag inte riktigt förstår :p Här är mitt försök att validera sidan. Hur rättar jag till det?

silfverMedlem sedan apr. 200312 679 inlägg
#2

Har du rätt encoding-grej? iso-8859-1 borde du väl ha. Om du använder UTF-8 så kan du väl göra så att scriptet skriver ut å, ä och ö så här:

å	å
ä	ä
ö	ö

Å	Å
Ä	Ä
Ö	Ö

Tror jag. :)

r\ Fixade felen.

jarvkloMedlem sedan juli 20013 378 inlägg
#3

Hmm...
å och kompani är inte giltiga "per default" i XML - och de finns inte deklarerade i RSS heller ;)

Du måste helt enkelt se till att du anger den encoding du kör med korrekt... Och vilken det är vete din editor / din applikation ;)

Kör du något annan teckenkodning än UTF-8 måste du ange det i en <?xml?>-deklaration såhär:

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

XML-deklarationen lägger du allra först i filen (utan vare sig mellanslag eller annat före :) )

.. och även om man *får* utelämna <?xml?>-deklarationen om man använder UTF-8, så skadar det inte läsbarheten för dig som mekar med filen att peta in en

<?xml version="1.0" encoding="UTF-8"?>

iallafall ;)

HelmertzMedlem sedan maj 2005353 inlägg
#4

Usch vad jobbigt, det gillades inte det heller. Det finns inget annat sätt att skriva å, ä och ö på?

HelmertzMedlem sedan maj 2005353 inlägg
#5

I UTF-8, hur skriver man å, ä och ö då? Som silfver skrev?

jarvklo, ska man inte använda någon header i PHP när man anger <?xml... ?> då?

jarvkloMedlem sedan juli 20013 378 inlägg
#6

Du måste hålla reda på vilken teckenkodning du använder och deklarera den i en <?xml?>-deklaration.

Tips - Du kan inte skriva in <?xml?> direkt eftersom <? tolkas av PHP som en PHP-tagg :)
Kör med echo...

<?
header("Content-Type: text/xml");
echo "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>";
?>
jarvkloMedlem sedan juli 20013 378 inlägg
#7

Helmertz skrev:

I UTF-8, hur skriver man å, ä och ö då? Som silfver skrev?

Hmm... Du kör PHP... Kolla på http://se.php.net/manual/en/function.utf8-encode.php

HelmertzMedlem sedan maj 2005353 inlägg
#8

jarvklo skrev:

Tips - Du kan inte skriva in <?xml?> direkt eftersom <? tolkas av PHP som en PHP-tagg :)
Kör med echo...

<?
header("Content-Type: text/xml");
echo "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>";
?>

Det är klart.. :r Problemet är dock kvar!

jarvkloMedlem sedan juli 20013 378 inlägg
#9

Fast nu är problemet att du översätter åäö till &aring; och kompani - ta bort den konverteringen och se om det inte blir bättre...

HelmertzMedlem sedan maj 2005353 inlägg
#10

Feedvalidator skrev:

Your feed appears to be encoded as "ISO-8859-1", but your server is reporting "US-ASCII"

Den vägrar ge sig :D

jarvkloMedlem sedan juli 20013 378 inlägg
#11

Hmm....

header("Content-Type: text/xml; charset=ISO-8859-1");

borde fixa det problemet...

HelmertzMedlem sedan maj 2005353 inlägg
#12

Känns lite kaka-på-kaka, men det löste det problemet, man tackar!

Vet du vad de andra felen beror på?

jarvkloMedlem sedan juli 20013 378 inlägg
#13

Yep. Du har glömt att lägga <item> runt varje <title> + <description> + <link> ;)

jarvkloMedlem sedan juli 20013 378 inlägg
#14

Sådärja - Nu behöver du bara peta in en <title> + <description> + <link> trojka som beskriver din webbplats/ditt feed mellan starttaggen för <channel> och första <item> ;)

HelmertzMedlem sedan maj 2005353 inlägg
#15

Nu vill validatorn ha det så som jag skrev från början verkar det som.. Grr.. Eller har jag missförstått det du sa?

jarvkloMedlem sedan juli 20013 378 inlägg
#16

Hehe - kolla mitt förra inlägg (jag skrev det innan du hann fråga ;) )

HelmertzMedlem sedan maj 2005353 inlägg
#17

Tack så mycket! Du är hygglo du som hjälper en förvirrad ung man.. :P Tro det eller ej men jag läste igenom en anvisning innan.. :r

zcorpanMedlem sedan dec. 20042 245 inlägg
#18

Helmertz skrev:

Känns lite kaka-på-kaka, men det löste det problemet, man tackar!

Du kan använda application/xml istället för text/xml. :)

jarvkloMedlem sedan juli 20013 378 inlägg
#19

NP - Alla anvisningar är inte nödvändigtvis lätta att förstå :)
Som hemläxa får du fundera på att lägga till <pubDate>, <language>, <dc:creator> m.fl också när du ändå är i farten och mekar med din RSS-kanal :e

Skämt åsido - kul att det funkar och lycka till :birp

HelmertzMedlem sedan maj 2005353 inlägg
#20

zcorpan skrev:

Helmertz skrev:

Känns lite kaka-på-kaka, men det löste det problemet, man tackar!

Du kan använda application/xml istället för text/xml. :)

Nu när jag väl fått det att fungera vågar jag knappt ge mig på det :) Fixar alla RSS-läsare den mediatypen?

127 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)