Unicode windows console output.

Simon Marlow marlowsd at gmail.com
Wed Nov 3 09:00:51 EDT 2010


On 03/11/2010 10:36, Bulat Ziganshin wrote:
> Hello Max,
>
> Wednesday, November 3, 2010, 1:26:50 PM, you wrote:
>
>> 1. You need to use "chcp 65001" to set the console code page to UTF8
>> 2. It is very likely that your Windows console won't have the fonts
>> required to actually make sense of the output. Pipe the output to
>> foo.txt. If you open this file in notepad you will see the correct
>> characters show up.
>
> it will work even without chcp. afaik nor ghc nor windows adjusts text
> being output to current console codepage

GHC certainly does.  We use GetConsoleCP() when deciding what code page 
to use by default - see libraries/base/GHC/IO/Encoding/CodePage.hs.

Windows Consoles use Unicode internally.  I presume at some point 
between WriteFile() and the console some decoding is supposed to happen, 
but I don't know where that is, or how well it works (other evidence on 
this thread suggests not very well).

Cheers,
	Simon


More information about the Glasgow-haskell-users mailing list