Well, i solved this one myself. Google should be the first try even at 4 in the morning 🙂
To anyone else experiencing this:
Apparently RSS only like a very limited number of special characters. Using feedvalidator it gave me the reason for it failing and suggestions on how to fix it. Now i replaced all the special chars (like å etc) with their numerical equivalences – and it works as a charm.
However – i still can’t work out why it has been working for two days 🙂
I would call this a bug.
The elements causing this in your feed relate to data displayed by the bloginfo_rss() tag. WordPress is supposed to filter this through the ent2ncr() function, which translates a HTML entity (») to its numeric equivalent (»). That’s to avoid just the conflict you’ve come across. However bloginfo_rss() is lacking a filter hook, which means nothing is converted.
I’ll report the bug, but you can fix this in your WordPress source by editing feed-functions.php (under wp-includes/), locating the bloginfo_rss() function at the top of the file:
function bloginfo_rss($show = '') {
echo get_bloginfo_rss($show);
}
and changing it to:
function bloginfo_rss($show = '') {
$info = get_bloginfo_rss($show);
$info = apply_filters('bloginfo_rss', $info, $show);
echo $info;
}
“It also seems that the rss-feed is cached somewhere.“
That would be a feature of your browser. Perform a hard refresh on feed *pages* to reload.
One would expect such filtering help. But i was accepting that my non-standard coding wasn’t working 🙂
Thank you for the help. I applied the fix and hope that future code adjustments will rock with RSS.
I did this little fix and it seemed to solve my problem but then it reverted back to a situation where I had no rss feed
I applied this fix too, but it cannot solve my problem for rss ver. 0.92 though rss2 is working fine. It’s breaking at the HTML special character “&”.
Ok, I solved the problem by applying this fix:
Change function : get_bloginfo_rss in wp-includes/feed-functions.php
function get_bloginfo_rss($show = ”) {
$info = strip_tags(get_bloginfo($show));
return convert_chars($info);
}
to :
function get_bloginfo_rss($show = ”) {
$info = ent2ncr(strip_tags(get_bloginfo($show)));
return convert_chars($info);
}