【发布时间】:2010-05-29 16:40:38
【问题描述】:
我在 haskell 中有一个程序使用包 utf8-string 输出 utf-8,并且只使用该包的输出函数。
我以这种方式设置了我写入的每个文件的编码:
hSetEncoding myFile utf8
{- myFile may be stdout -}
但是当我尝试输出时:
alpha = [toEnum 0x03B1] {- α -}
我在 Linux 上(或在 Windows 上的文件中)得到的不是漂亮的 alpha 字母,而是以下内容:
α
奇怪的是,即使我尝试将输出写入文件,我也无法使用 mvim 作为 utf-8 文件将其读回。有什么办法可以得到正确的行为
【问题讨论】:
-
我认为您的意思是 toEnum 而不是 fromEnum。
-
将
utf8-string与 GHC 原生编码内容(设置句柄的编码)结合使用似乎会导致双重转义。在支持指定句柄编码之前,我只在早期的 GHC 上使用过utf8-string。
标签: haskell utf-8 macos terminal