GHC's support for Unicode is not as good as it could be. This page collects relevant tickets:
FFI spec behaviour for CString
-
#5061 (closed): Implement FFI spec behaviour for *CString family
-
#1414 (closed): CString marshalling functions do not perform the specified conversion
Not decoding/encoding file names when we should be
-
#3309 (closed): getArgs should return Unicode on Unix
-
#3308 (closed): getArgs should return Unicode on Windows
-
#3307 (closed): System.IO and System.Directory functions not Unicode-aware under Unix
-
#4006 (closed): System.Process doesn't encode its arguments
-
#4855 (closed): Debug.Trace.trace mangles Unicode strings
More encoding support
- #3977 (closed): Support double-byte encodings (Chinese/Japanese/Korean) on Windows
Unicode API issues
-
#4471 (closed): Incorrect Unicode output on Windows Console
-
#3569 (closed): ghci can't handle utf-8 chinese char correctly when modify
Misc
-
#2507 (closed): quotation characters in error messages
-
#5088 (closed): TextEncoding iconv instances are shared between threads