You are also free to modify it and to redistribute it, provided you preserve the existing copyright notices.
The most common cause of this is a problem with locales, in particular, the codeset (LC_CTYPE) in use. There could be a mismatch between the locale that the c3270 process is using and the locale supported by the terminal hardware or terminal emulation software that c3270 is running on. For example, c3270 may be running in a locale that uses UTF-8 encoding (e.g., en_US.UTF-8), while the terminal it is running on does not support UTF-8. Or it may be running on a terminal emulator (xterm, gnome-terminal that is running in a non-UTF-8 locale, such as en_US.ISO8859-1.
Use the show stats command at the c3270< prompt to display the locale codeset that the c3270 process is using.
Note that the locale conflict can easily arise when c3270 is run on a remote host, e.g., in an ssh session. The remote host (where the output is being generated) and the local host (where the output is being interpreted and displayed) can often have different default locales.
It is also possible that c3270 was built without UTF-8 support. In order to support UTF-8, c3270 must be built with an ncurses or curses library that supports wide characters. The show stats command will also indicate whether or not c3270 supports UTF-8.
When you send a question about c3270, please include the following information. It makes it much easier to narrow down the problem.