GHC:显示unicode字符

Alb*_*ani 2 unicode haskell ghc

关于管理.exe文件生成中的unicode字符的第一个问题,这也是GHC中的一个错误?

> print "Frère"
"Fr\233re"
Run Code Online (Sandbox Code Playgroud)

Aar*_*oup 11

print x相当于putStrLn (show x),showShow类的类型转换为字符串表示形式.

在你的情况下,x已经有了String类型.有人可能认为String实现show只是简单地返回其参数,但实际上它将它转换为ASCII字符串文字标记,其语法与Haskell源代码中使用的相同.这是通过用引号括起来并通过转义'特殊'字符(基本上不在键盘上的任何字符)来完成的.

所以,这不是一个错误,而是预期的行为print.如果要直接输出字符串,请putStrLn改用.