If all fails, read the spec :-).
4.3.3 Character Encoding in Entities
Each external parsed entity in an XML document may use a different encoding for its characters.
[...]
In an encoding declaration, the values " UTF-8 ", " UTF-16 ", " ISO-10646-UCS-2 ", and " ISO-10646-UCS-4 " SHOULD be used for the various encodings and transformations of Unicode / ISO/IEC 10646, the values " ISO-8859-1 ", " ISO-8859-2 ", ... " ISO-8859- n " (where n is the part number) SHOULD be used for the parts of ISO 8859, and the values " ISO-2022-JP ", " Shift_JIS ", and " EUC-JP " SHOULD be used for the various encoded forms of JIS X-0208-1997.
It is RECOMMENDED that character encodings registered (as charsets) with the Internet Assigned Numbers Authority IANA-CHARSETS, other than those just listed, be referred to using their registered names; other encodings SHOULD use names starting with an "x-" prefix.
Source: http://www.w3.org/TR/REC-xml/
So UTF-8 is written as encoding="UTF-8".
For other character sets not listed above, use the names given in the IANA character set list.
Case of the letters in the character set name is not significant: "However, no distinction is made between use of upper and lower case letters." (IANA character set list). So you could also write encoding="uTf-8" if you feel like it ;-).
BTW: Are you really, really certain you want to write your own XML parser? This sounds suspiciously like reinventing the wheel.