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.
Due to GTK implementation of UTF-8 validation, the Autodetect function can fail on some Latin charset files. To avoid this, you can define the "fallback" charset using the On autodetect failed, fallback to this charset checkbox combined the Fallback charset character set name at the Preferences > Encodings > page. When the fallback-charset is turned on, the autodetection failed, TEA shall try to open a file with the defined fallback-charset. Default values are "on" and "ISO-8859-1".
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. Press the Add button to add selected (in the new dialog window) 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.