<p>I recently introduced HTML into some RSS feeds that I publish (which up to now only had plain text, no markup), and I was wondering which method is better: use character encoding (such as htmlspecialchars) or just encapsulate everything in CDATA?</p>

<p>It seems to me that CDATA might be easier, but I'm unclear as to whether there might be any reasons (subtle or otherwise) for choosing one approach versus the other. (For starters, the CDATA approach would be easier to read when viewing source...)</p>

At the risk of giving you the answer you may not want to hear: use
Atom
instead of
RSS.
Atom is nicely namespaced XML, so you can mix and match XHTML right in, without having to worry about the encoding issue you ask about.
It's pretty much supported everywhere RSS is, and because it's just vanilla Atom, it's easier to roll your own if you really don't want to use a library to manipulate it.
Atom is also a IETF standard, which RSS isn't.