From: Frank da Cruz (
Date: Sun Oct 03 1999 - 13:21:56 EDT

Addison wrote:

> Frank wrote:
> >Although the "DOS" window (it's not really DOS, it's a 32-bit console
> >window, as you can tell by the fact that you can use long filenames, etc)
> >can use Unicode fonts, it is restricted to "OEM code page" encoding, so
> >you are limited to the repertoire of CP850 or whatever. It might be
> >possible to change code pages, but it probably isn't easy. However, a
> >console application that runs IN the console window does not have this
> >limitation, and can take full advantage of whatever (fixed-pitch) font
> >can be chosen in the console window's Font list.
> This is mostly true. You can *easily* change the display character set
> (code page) in a WinNT console to any installed code page by way of the
> "chcp" command. That's right: ANY code page, so long as its .NLS file is
> installed (use the \LANGPACK directory on your WinNT install CD to install
> the ones you need).
I suppose it makes sense that the situation would be better in NT. Win9x
also has the CHCP command, but you have to reboot after using it, and you
are also cautioned against using it at all, for fear of "disk corruption".
Furthermore, US versions of Windows supply only two code pages for you to
change between: CP437 and CP850.

> chcp 10000 changes to Unicode (well, UCS-2) and you can display real
> Unicode text in your "DOS" shell.
This is interesting. What happens, then, when you try to run a
non-UCS2-aware application in the console window? That is, something that
prints only ASCII strings (without NULs between each character)? Is it
total garbage, or does it display correctly by some magic?

- Frank

This archive was generated by hypermail 2.1.2 : Tue Jul 10 2001 - 17:20:53 EDT