Windows上的GHCi:如何从控制台读取Unicode输入?

时间:2015-02-28 09:02:52

标签: windows powershell haskell cmd

如何使命令提示符/ LameShell中的以下代码与Unicode(CJK)一起使用?

main = getLine >>= putStrLn

(Windows 8.1,Haskell Platform 2014)

不,chcp 65001无效,chcp 10000

不,我不想将英语(美国)的系统本地(控制面板/时钟,语言,地区/语言/更改日期,时间或数字格式/管理)更改为其他人。< / p>

是的,我已将字体设置为Lucida Console。

我已经尝试过ConEmu / Cmder / Console2,他们都说&#34;异常:: hGetLine:文件结束&#34;。我也试过Emacs,(我使用的是Vim),它并没有崩溃,但无论我输入什么,我总是得到空格。

补丁GHC并重新编译它是可以接受的,如果没有别的办法。

有什么想法吗?

感谢。

1 个答案:

答案 0 :(得分:1)

PowerShell原生支持UTF。假设我正确理解了您的示例(main = getLine >>= putStrLn):

$var = Read-Host
Write "$var"

或者简单地说:

Read-Host