RSS Feed content is placed in a CDATA block but it still goes through the standard processing loop. This means that a CDATA block will have & instead of & or ’ instead of '.
This probably needs to be changed in the ent2ncr filter that is applied to the output.
A more proper way would be to use an XML library to generate the XML so you don't have to worry about all these escaping details!!