Skip to content

Incorrect Unicode output on Windows Console

To reproduce,

  • start a windows console
  • Change the console's font to a ttf unicode font, like "Lucida Console".
  • Type "chcp 65001" to set it to the UTF-8 code page.

test.hs

main = putStrLn "∷⇒∀→←⋯⊢"

Output to the console is garbled. runghc test.hs:

∷⇒∀→←⋯⊢
→←⋯⊢
⋯⊢
∷⇒∀→←⋯⊢→←⋯⊢←⋯⊢⋯⊢⊢⊢⊢<stdout>: hFlush: permission denied (Permission denied)

Piping works correctly. runghc test.hs > output && type output:

∷⇒∀→←⋯⊢

ghci fails. ghci test.hs

GHCi, version 6.12.3: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package ffi-1.0 ... linking ... done.
[1 of 1] Compiling Main             ( test.hs, interpreted )
Ok, modules loaded: Main.
*Main> main
∷*** Exception: <stdout>: hPutChar: permission denied (Permission denied)
*Main>
Trac metadata
Trac field Value
Version 6.12.3
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information