For some reason it seems to be non-trivial to get Unicode to work in console apps, so I decided to make an illustrated guide about Irssi, PuTTY and GNU screen. Hope it helps.

Note: you needn’t be using GNU screen to follow this guide.

Since this is screenshot-heavy, the images are hidden after the jump.

(If you’re not using screen, you can skip to the PuTTY section.)

Configuring screen to use UTF-8

This one is simple but important. If you’re using GNU screen, make sure to start it with -U parameter to enable unicode mode. This does not work when attaching to an existing session, you need to start a new session.

% screen -U irssi

screen.exe -U irssi.exe

Configure PuTTY to use Unicode UTF-8

Configuring PuTTY to use UTF-8 is a three-step process:

  1. Open the PuTTY configure dialogue by clicking in the upper left corner of the window and selecting “Change Settings…” from the menu: (screenshot)
  2. Go to “Translation” on the left side tree menu and select “UTF-8” from the pulldown menu to the right: (screenshot)
  3. Apply the settings: click on [Apply]

Configuring Irssi to use UTF-8

If you try to input UTF-8 into Irssi now… [(status)] 你|hao_

it won’t work properly: [(status)] ▒▒▒▒▒▒

You’ll need to set up Irssi for use with UTF-8 first by setting the term_charset to utf-8: [(status)] /set term_charset utf-8

Trying again… [(status)] 你|hao_

Yay, it works! [(status)] 你好

And you can even talk to mIRC users: (screenshot of mIRC and Irssi) (if they speak your language…)