How to configure PuTTY to display these characters?

What you need to do is to set the font (Figure 1) and encoding (Figure 2) in PuTTY.

The font in your screenshot is Inconsolata (get the OTF file and copy it to your Windows Fonts folder). (PyroScope suggests DejaVu Sans Mono for Windows. Get dejavu-fonts-ttf-2.33.zip, extract the four DejaVuSansMono*.ttf files, and copy them to the Windows Fonts folder.)

The encoding to use is UTF-8.


Figure 1: Set the font:

PuTTY font set to Deja Vu Sans Mono

Figure 2: Set the encoding:

PuTTY encoding set to UTF-8


Update 2020

Suggest to install and use some patched fonts with basic emoji support, e.g., https://github.com/ryanoasis/nerd-fonts


I checked the accepted solution, however, on my machine, putty doesn't show Everson Mono or DejaVu Sans Mono in its font list. (There must have been something wrong with my system configuration).

Besides, I don't like to change my favorite monospaced font.

After some Googling, I found a more preferable solution:

Add (or Edit) an multi-string value for your preferred font under the Windows registry key

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink

The added (or edited) key name should be the font name, and the value associated is a list of fallback font options to display the characters not recognized by previous font. There should be some existing ones, you can copy the value from there.

For me, I added an entry:

Monaco -> 
    msyh.ttf,Microsoft YaHei Regular
    SIMSUN.TTC,SimSun
    MINGLIU.TTC,PMingLiU
    MSGOTHIC.TTC,MS UI Gothic
    BATANG.TTC,Batang

Reboot and now Putty is able to show the Unicode characters correctly:

oh-my-zsh prompt


Everson Mono works in PuTTY (a very important condition; many other fonts work, e.g. in konsole) for all the characters you posted. Doing a full test with the Python script, however, reveals a block that isn't quite right.

python -c 'print u"\u22c5 \u22c5\u22c5 \u201d \u2019 \u266f \u2622 \u260d \u2318 \u2730 " \
u"\u28ff \u26a1 \u262f \u2691 \u21ba \u2934 \u2935 \u2206 \u231a \u2240\u2207 \u2707 " \
u"\u26a0\xa0\u25d4 \u26a1\xa0\u21af \xbf \u2a02 \u2716 \u21e3 \u21e1  \u2801 \u2809 " \
u"\u280b \u281b \u281f \u283f \u287f \u28ff \u2639 \u2780 \u2781 \u2782 \u2783 \u2784 " \
u"\u2785 \u2786 \u2787 \u2788 \u2789 \u25b9\xa0\u254d \u25aa \u26af \u2692 \u25cc " \
u"\u21c5 \u21a1 \u219f \u229b \u267a ".encode("utf8")'

Everson Mono on PuTTY to a virtual Kubuntu machine

To use Everson Mono on PuTTY it may be necessary to tick the Allow selection of variable-pitch fonts box in Window -> Appearance -> Font settings section.

Other fonts, such as DejaVu Sans Mono, work perfectly in other programs, possibly borrowing glyphs from other files (I'm not sure how TT fonts work), which doesn't seem to work in PuTTY. Code2000 should have worked, but it did something... odd... to my PuTTY window. It may work for you. Every font I've tried works directly in konsole, even those that should not. It might be worth looking into an alternative client/emulator.