如何在命令提示符/ LameShell 中使用 Unicode(CJK)使以下代码正常工作?
main = getLine >>= putStrLn
(Windows 8.1, Haskell Platform 2014)
不,chcp 65001
和 chcp 10000
都不行。
我不想将系统区域设置(控制面板/时钟、语言和区域/语言/更改日期、时间或数字格式/管理)从英语(美国)改为其他语言。
是的,我已将字体设置为 Lucida Console。
我尝试过 ConEmu/Cmder/Console2,它们都显示“Exception: : hGetLine: end of file”。我还尝试了 Emacs(我使用 Vim),它没有崩溃,但无论我输入什么,我总是得到空格。
如果没有其他方法,补丁 GHC 并重新编译是可以接受的。
有什么建议吗?
谢谢。
System.IO
中使用hSetEncoding
吗? - Arnonchcp 65001
后,hGetEncoding stdin
已经返回了Just UTF-8
,我仍然尝试了hSetEncoding stdin utf8
,但没有成功。 - Not an ID