Aurora games use numerical language IDs to identify which language a TLK file holds. Unfortunately, those language IDs vary between games, and so does the encoding used for strings in those TLK files. There is no way to autodetect this information, so it has to be provided to tools handling those files, in one way or another.
For the tools tlk2xml and xml2tlk, you can specify this encoding either directly, or by giving the game the TLK is from. Please note that this does not work for Sonic Chronicles: The Dark Brotherhood, because its TLK files do not provide a language ID.
Neverwinter Nights, Neverwinter Nights 2, Knights of the Old Republic,
Knights of the Old Republic II: The Sith Lords, Jade Empire
Sonic Chronicles: The Dark Brotherhood:
Dragon Age: Origins, Dragon Age II: