I never could quite figure out why non-ASCII characters were getting badly munged in XML::Atom::SimpleFeed output. Using Encode::decode() on the content of entries turns out to fix this, although it's probably the tip of an iceberg.