TEA can handle all charsets that Linux supports through the iconv library. Basicly you can use two character sets for the file save operation - there are UTF-8 and the current locale's charset. For the file opening action you can select them and in the addition there is a one more option - autodetect.
When you choose an autodetection, TEA tries to determine the actual encoding automatically, and if it fails, you need to select the proper encoding manually. The autodetection function has a polymorphic nature and divided into more than one sub-functions. For example, TEA has a simply autodetect and Japanese autodetect functions. When you choose the first one, you must also select some charsets which TEA needs to check. All that charsets are available at Preferences > Encodings > Autodetect section - you may see a lot of checkboxes there.
So when you open the file, you can choose the autodetect charset, and TEA will try to autodetect encodings which you select at "Autodetect" Preferences section.
And another case is Japanese autodetect - it is separated form the "usual" autodetect function due to its inner implementation.
How to add more charsets to the list of available encodings? Go to File > Preferences > Encoding, switch to Configure charsets page. There are two lists - Available and Selected. Select charset in Available list and press Add button to add this encoding to Selected list. Charsets from Selected will be available in File open/save dialogs, Kwas file manager et cetera.
To remove an item from Selected list, select it and press Delete button between the lists.
Menus/lists with available charsets updates: for Open/Save dialogs - when you reopen them; for Kwas - when you start a new Kwas window.
TEA has an almost obsolete View > Co menu. From this menu you can switch encoding for the current document. Encodings are the same as in "File open/save as" dialogs. When you switch an encoding, it means that the current file's content will be reloaded with the different encoding. So use it carefully, only if you want to change an encoding when you see some kind of crap in the place of a text.
And some additional words about the automatic language detection. TEA uses its own algorithm, but as I know now, it's somehow similar to the N-Gram-Based Text Categorization.