Luit is a filter that can be run between an arbitrary application and a UTF-8 terminal emulator. It will convert application output from the locale's encoding into UTF-8, and convert terminal input from UTF-8 into the locale's encoding. It is mainly used to support xterm.
Luit was written by Juliusz Chroboczek for the XFree86 Project, with improvements and fixes by several people. There was no maintainer for some time; I adopted it in 2006 to ensure that it continued to support xterm (details are listed in the luit.log.html file within the source).
Besides the maintenance issue that attracted my attention in 2005 (untested changes to compiled-in file locations), luit has had from the outset a technical issue: its associated font-encoding library.
Juliusz Chroboczek used the font-encoding library to work around performance issues with direct use of iconv. This solution has proven to be a drawback:
I solved the problem by implementing an efficient conversion using iconv. Luit still supports the font-encoding library if it is found by the configure script. If you choose, luit can easily be built using iconv.
Luit is known to work with
Aside from Solaris, luit had not been ported to other Unix systems before 2012.
For some older versions (noticed with HPUX and FreeBSD) you
may need to use the -p command-line option to work
around a problem copying the terminal settings from the standard
input to the pseudo-terminal.
You should report bugs to me.