小编Ale*_*lex的帖子

haskell:输出非ascii字符

我想在WinGHCi中输出非ascii字符,但这是我得到的:

Prelude> "?"
"\948"
Prelude> putStr "\948"
*** Exception: <stdout>: hPutChar: invalid argument (character is not in the code page)
Run Code Online (Sandbox Code Playgroud)

我在Windows XP上使用WinGHCi 7.0.3.我有什么办法让WinGHCi打印出一个漂亮的小三角洲?

windows haskell non-ascii-characters

7
推荐指数
1
解决办法
1412
查看次数

haskell:从控制台读取特殊字符

我想从控制台读取一个包含特殊字符的字符串,如ö,ä,ü,μ......我试过:

做... ts < - getLine ...

但这对那些角色不起作用.例如,ö的unicode是\ 246,但是如果我使用getLine读取öhaskell读取"\ 195\182",并且putStr"\ 195\182"给我,这不是ö.这有什么问题?我是否需要其他功能来读取这些字符?

我在Windows XP上使用WinGHCi 7.0.3.如果有人可以帮助我,我会很高兴因为到目前为止我找不到任何东西.


@Judah Jacobson:

在输入任何其他命令之前我再次尝试了,并得到了这个:

Prelude> :m +System.IO
Prelude System.IO> hSetEncoding stdin utf8
Prelude System.IO> getLine
????
"\206\177\207\402\206\180\207\8224"
Prelude System.IO> putStr "\206\177\207\402\206\180\207\8224"
ασδφPrelude System.IO> 
Run Code Online (Sandbox Code Playgroud)

我也试过了windows命令chcp 65001,但它没有改变任何东西,我已经在windows中激活了utf8.

unicode haskell

6
推荐指数
1
解决办法
1216
查看次数

标签 统计

haskell ×2

non-ascii-characters ×1

unicode ×1

windows ×1