I still use mutt for my mail but recently rediscovered that on one remote host when connecting via PuTTY, my default settings left the line-drawn threading characters unreadable, which in turn affected scrolling.
The first solution I found was in this forum post. It suggested changing the terminal settings, instead of anything in mutt itself. I added these lines to my ~/.bashrc:
if [ "$TERM" = "putty" ]; then export LC_ALL=C else export LC_ALL=en_US.utf8 fi export TERM=xterm
I then set the PuTTY terminal type (in the Connection -> Data options) to be "putty." This triggered the 'if' part of the if/then clause, before resetting the termtype correctly. LC_ALL sets all the locale settings at once, overriding any existing settings. (See man 7 locale for more information) C is the 'default' locale, without any internationalization settings.
However, contrary to the forum post, while this resolved my line-drawn characters problem, it didn't allow me to view accented characters or other Unicode characters in mutt; and the character set for my outgoing mail was incorrectly defined in the headers. A bit more investigation located a different and rather more elegant solution: to set the PuTTY encoding to use UTF-8, in the Window -> Translation settings. After this, I was able to delete all of the above from my ~/.bashrc, and leave the terminal to figure out its own charset successfully. Line-drawn characters and UTF characters all looked just fine.
Two final notes: First, an alternative solution to the line-drawing problem is to use the "poor man's line-drawing" option in PuTTY, but this is less aesthetically pleasing. Second, if you're using screen and playing around character sets, you may need to restart screen before they take effect.
Juliet Kemp has been messing around with Linux systems, for financial reward and otherwise, for about a decade. She is also the author of "Linux System Administration Recipes: A Problem-Solution Approach" (Apress, 2009).