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>
```
<details><summary>Trac metadata</summary>
| 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 | |
</details>
<!-- {"blocked_by":[],"summary":"Incorrect Unicode output on Windows Console","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"6.12.3","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"To reproduce,\r\n\r\n * start a windows console\r\n * Change the console's font to a ttf unicode font, like \"Lucida Console\".\r\n * Type \"chcp 65001\" to set it to the UTF-8 code page.\r\n\r\ntest.hs\r\n{{{\r\nmain = putStrLn \"∷⇒∀→←⋯⊢\"\r\n}}}\r\n\r\nOutput to the console is garbled. `runghc test.hs`:\r\n{{{\r\n∷⇒∀→←⋯⊢\r\n→←⋯⊢\r\n⋯⊢\r\n∷⇒∀→←⋯⊢→←⋯⊢←⋯⊢⋯⊢⊢⊢⊢<stdout>: hFlush: permission denied (Permission denied)\r\n}}}\r\n\r\nPiping works correctly. `runghc test.hs > output && type output`:\r\n{{{\r\n∷⇒∀→←⋯⊢\r\n}}}\r\n\r\nghci fails. `ghci test.hs`\r\n{{{\r\nGHCi, version 6.12.3: http://www.haskell.org/ghc/ :? for help\r\nLoading package ghc-prim ... linking ... done.\r\nLoading package integer-gmp ... linking ... done.\r\nLoading package base ... linking ... done.\r\nLoading package ffi-1.0 ... linking ... done.\r\n[1 of 1] Compiling Main ( test.hs, interpreted )\r\nOk, modules loaded: Main.\r\n*Main> main\r\n∷*** Exception: <stdout>: hPutChar: permission denied (Permission denied)\r\n*Main>\r\n}}}","type_of_failure":"OtherFailure","blocking":[]} -->
issue