I have some experience on using magpierss (this block use it to parse rss) and try to think about it. Wish what I'll say is useful.
magpie use UTF-8 as it internal encoding (for the reason of xml module in php). All the encoding except UTF-8, US-ASCII and ISO-8859-1 will be converted to UTF-8 by calling iconv() or mb_convert_encoding() , then parse. The output encoding is determinated by MAGPIE_OUTPUT_ENCODING. Before call fetch_rss(), use
020202 define('MAGPIE_OUTPUT_ENCODING', get_string('thischarset'));
can make the output to be the site's default charset. But for the limit of xml parser provided by php, only three charsets mentioned above can work. I tested it in zh_cn_utf8.
If we want it to support more charsets, should do something inside magpierss.