无法显示unicode

时间:2016-02-21 10:11:04

标签: haskell unicode ghc

我有一种感觉,这已经在某处得到了解答:如果是这样,我道歉。

我正在尝试使用将Unicode字符写入标准输出的可执行文件。我得到的只是这个错误信息(来自Haskell的hPutChar):

<stderr>: hPutChar: invalid argument (invalid character)

只是要明确:可执行文件不是我的,我不能改变输出的内容。

有没有办法让bash显示这些字符?我的bash版本是Debian Jessie的4.3.30。

非常感谢。

1 个答案:

答案 0 :(得分:3)

您的用户环境未正确设置以处理Unicode。您的语言环境应设置为<language>_<territory>.utf-8或其某些拼写变体(某些系统使用UTF8或utf8)。键入locale -a以查看支持的区域设置列表。型

 export LANG=<your preferred locale name>

再次运行你的程序。该计划应该停止抱怨。如果您没有看到正确的字符,并且您正在运行X11,请在同一会话中键入xterm&(或您喜欢的任何终端模拟器),然后重试。

如果没有合适的区域设置,您可能需要生成一些区域设置。 This似乎解释了如何在Debian上做到这一点。