in reply to Unicode XML Parsing Problem

"Unicode" is not an encoding.

You should try to find out what they mean with it. My guess is that it is a fixed, 2 bytes per character, either in Little Endian order (as used on Windows), or in Big Endian order. You can read more about Unicode encodings on czyborra.com. In particular, check out the sections on UTF-16, and UCS-2.

Perhaps you can just make it work without any external help. Drop or reduce the above (IMO) useless header, optionally add a proper BOM, and it might just work. Or perhaps not.

If it still doesn't work, it is possible to generate additional character set tables, with tools available as XML::Encoding. For example make_encmap is a script that has been used to produce the tables included with this module. At least it ought to be usable to show you how those tables are constructed.