Por PHP, y el encoding es UTF-8 (que de momento no me ha dado problemas con tildes ni con la ñ aunque sí alguno con las comillas dobles y con algún carácter especial - '\', '€', etc.-)
El código que uso es algo parecido a esto: (le he suprimido los '\t', '\n', etc.)
Código PHP:
echo "<?xml version="1.0\" encoding=\"UTF-8\"?>\n<?xml-stylesheet href=\"estilos.css\" type=\"text/css\"?>\n<rss version='2.0'>\n";
while ($v = mysql_fetch_array ($con -> Retcons_id ()))
{
echo utf8_encode("<noticia>");
if(!is_null($v["imagen"]))
echo utf8_encode("<img align=\"left\" src='".$v["imagen"]."'/>");
echo utf8_encode("<cabecera> - ".urldecode($v["cabecera"])."</cabecera><br/><br/>");
echo utf8_encode("<cuerpo>".urldecode($v["texto"])."<br/></cuerpo>");
echo utf8_encode("<pie>------------------------------------------<br/></pie>");
echo utf8_encode("</noticia>");
}
echo "</rss>";
Gracias por tu interés.