Vyrobil jsem RSS kanál, ale vlastně nevím jak to má fungovat a jestli to funguje. Najdete ho tady:
http://avar.borec.cz/rss.php
Jediné čeho jsem si všiml, je špatné kódování. Jak se to nastaví? Tak se tam kdyžtak mrkněte co to dělá.
test na: Firefox - Sage
Funguje to, ale titulky v menu a náhledy zpráv neumí diakritiku - Jiné české kanály bez problémů. Rady ode mě nečekej, na RSS se teprv se chystám.
Oboje vím. IE6 zahlásí neznámý znak. Skončí na té diakritice. Ale nevím jak nastavit aby ty české znaky fungovaly.
Nechci být nezdvořilý, ale to opravdu nikdo neví jak se při generování RSS nastaví kódování? Já myslel, že je to taková progresivní technologie, že to už dneska používá kdekdo.
Já normálko dávám na začátek toto:
<?xml version="1.0" encoding="iso-8859-2"?>
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd\">
<rss version="0.91">
Bez toho zpětnýho lomítka na 3. řádku za ".dtd"
Jo tak ten RSS funguje, i když bez diakritiky. Pokud ho chceš využívat naplno a nemít zbytečně browser a RSS čtečku tak si pořid Operu, ta už ma RSS čtečku zabudovanou.
Jinak RSS má fungovat jako zdroj novinek bez nutného serfování po webech. A když se někde něco na nějakejch stránkách objeví, RSS ti to dá vědět :-)
Jasně, ten můj výrok, že nevím jestli a jak to funguje, bykl míněn tak že jsem ten svůj kanál neviděl v žádné čtečce. Co to generuje za kód jsem se v prohlížeči samosebou podíval a zdálo se mi, že je to stejný jako u cizích RSS kanálů. Tak jsem rád, že jsem se nemýlil.
Tu hlavičku tam napíšu tak jak říká P.Bláha to by asi mělo pomoct. Já tam zavolal jenom header(xml/text) nebo tak nějak a myslel jsem že je to tím vyřešené. Našel jsem an intervalu specifikaci RSS 2.0 takže zkusím tohle:
<?xml version="1.0" encoding="Windows-1250"?>
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 2.0//EN" "http://my.netscape.com/publish/formats/rss-2.0.dtd">
<rss version="2.0">
<channel>
<title>titulek</title>
<link>http://www.adresa.com/</link>
<description>Moje stránka o čemkoliv</description>
<language>cs</language>
<pubDate>Tue, 10 Jun 2003 04:00:00 GMT</pubDate>
<lastBuildDate>Tue, 10 Jun 2003 09:41:01 GMT</lastBuildDate>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
<generator>MujSystem 1.0</generator>
<managingEditor>editor@example.com</managingEditor>
<webMaster>webmaster@example.com</webMaster>
<item>
<title>...</title>
<link>http://....</link>
<description>....</description>
<pubDate>Tue, 03 Jun 2003 09:39:21 GMT</pubDate>
<guid>....</guid>
</item>
</channel>
</rss>
musíš přes fci header() nastavit správný content-type včetně charsetu.
dík už to běží i s diakritikou.
Lamač: IE 6.0 si s xml neporadí. IE 5.0 to uměl, ale 6.0 to neumí. Každopádně žádný IE neumí kloudně prohlížet HTML, natož RSS.
hmmm.. podle me je IE uplne na hovno.:-)
vzdycky, kdyz neco zkousim, tak to delam v opere a firefoxu. a pak se jen "klepu", aby to slo i v IE
kdyby jenom "klepu"... :|
nastesti existuji i validni metody jak delat jine CSS pro IE a Mozillu, takze je to v poho. CLovek to napsie a pak upravi par veci ktere M$IE nezna... Nejhorší je snad jak se IE chová k cache. Zkoušel sem udělat XMl dokument ktery by se pomoci CSS v podstatě normálně zobrazoval. Všechny části soubory měly nocache hlavičky, ale tu si IE neaktualizoval CSS, tu XML, tam doctype...
Máte pravdu spousta lidí mi říká, že jim XML v IE neběží. Já mám IE 6.0.2800.1106 a třeba ten svůj RSS normálně vidím správně. Na druhou podstatnější je, že to RSS vidí čtečky jako má třeba Opera, v IE bych si to RSS mohl beztak akorát přečíst jenom v kódu.
Tak jsem zjistil, že SharpReader ten můj XML nevidí. Je to způsobeno špatnou hlavičkou. Já zkoušel tohle. Co je na tom blbě?
<?php
header('content-type: text/xml; charset=windows-1250');
echo "\n<?xml version=\"1.0\" encoding=\"windows-1250\"?>";
echo "\n<rss version=\"2.0\">";
echo "\n<channel>";
....
....
.... atd.
už vím, vadily mu ty odlomítka \n