Unicode on Windows

Install Fonts and Language Support

By default Windows does not install files needed for Middle Eastern or Asian scripts. First you'll need to install all the appropriate fonts. Open the Regional and Language Options Control Panel:

Then go to the language tab and check both "Install files for complex script and right-to-left languages (including Thai)" and "Install files for East Asian languages".

You will probably be asked for your Windows installation CD. When this completes, you will have support for Arabic, Hebrew, Indic languages, Thai, Chinese, Japanese and Korean in addition to the Latin, Cyrillic and Greek-based languages Windows supports by default.

Installing the fonts from recent versions of Microsoft Office (especially Arial Unicode MS) may also help.

Internet Explorer

Once fonts are installed, conforming web pages should automatically display correctly. If you find a page that does not display correctly, try going to the View -> Encoding menu and selecting the appropriate encoding.

A very rigorous Unicode test page complete with sample output images can be found here. Not everything displays correctly for me in Internet Explorer 6 on Windows XP, although Firefox 1.0 came close (It still has problems with combining marks.) Some other test pages include various alphabets and sample texts. Changing the fonts used for various scripts can also help.

Mozilla and Firefox

Mozilla and Firefox may do better (or at least differently) from both Internet Explorer and each other on various pages. Try out the test pages above and see what works best for your needs.

PuTTY

PuTTY has very good support for both Unicode and legacy encodings. To change which encoding is being used, first click on the putty icon in the upper left-hand side of the window and click "Change Settings..."

Where you go from here depends on what encoding you want to use.

Unicode and Single-Byte Encodings

PuTTY has built-in support for a wide range of encodings including all ISO-8859 series encodings, Windows code pages 1250-1258, the Russian KOI8 encodings, and a few others. Unicode UTF-8 support is also built-in. To use one of these encodings, click on "Translation" and then select the desired encoding.

Most of the encodings should work well, although Hebrew and Arabic will probably have directionality problems. Putty 0.55 does have some preliminary support for right-to-left scripts but I was not able to get it to work reliably for Hebrew. Arabic is even more problematic.

Multi-Byte Encodings (including Chinese)

Chinese, Japanese and Korean support in PuTTY works differently than the other encodings. You need to choose the appropriate font and then choose "use font encoding" from the translation menu.

First choose the correct font. Go to the "Appearance" section and click the "Change" button in the "Font Settings" area.

Editors

Most text editors on Windows should be Unicode-aware. Visual Studio .NET 2003's editor interprets UTF-8 encoded files correctly. Notepad does too, although you may need to select the correct encoding from File -> Open. Right-to-left scripts should work fine, although mixing left-to-right and right-to-left scripts on the same line can be frustrating.

Copying and pasting between browsers, PuTTY and editors should work quite well. Even copying and pasting text displayed incorrectly by PuTTY to an editor that can display it correctly works.