PuTTY Line Characters not displaying properly in ZSH

puttyutf-8zsh

Can anyone give me some direction on what is wrong with Putty that is causing this? Note that PuTTY is set to an encoding of UTF-8, and the line characters are set to be handled with Unicode. Also, i've tried every combination i can think of.. spent hours on this and still no end in sight.. any help would be much appreciated.

Here is what putty looks like..

lq(lee@work:pts/5)qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq(~)qk
mq(%) echo $TERM                                                                                                                             qj
xterm
lq(lee@work:pts/5)qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq(~)qk
mq(%) echo $LANG                                                                                                                             qj
en_US.UTF-8
lq(lee@work:pts/5)qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq(~)qk
mq(%)                                                                                                                                        qj

And what really confuses me.. is here is what screen looks like..
(Note that screen was launched in the same zsh session shown above.)

┌─(lee@work:pts/4)────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────(~)─┐
└─(%) echo $TERM                                                                                                                             ─┘
screen
┌─(lee@work:pts/4)────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────(~)─┐
└─(%) echo $LANG                                                                                                                             ─┘
en_US.UTF-8
┌─(lee@work:pts/4)────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────(~)─┐
└─(%)                                                                                                                                        ─┘

Screen is obviously showing what i desire.. yet i cannot figure out why ZSH is not rendering properly.. Anyone have any ideas?

Best Answer

PuTTY doesn't support the VT100 line drawing characters in UTF-8 mode. See PuTTY wish utf8-plus-vt100. Other terminal emulators such as xterm or mintty do support this, however.

Screen is itself a terminal emulator that just happens to be running in another terminal, and I expect it maps the VT100 line drawing characters to the relevant Unicode codepoints. That also points to the solution for PuTTY: use the Unicode box drawing characters.

Related Question