我有一个使用Haskell编写的程序,使用了utf8-string
包并仅使用该包的输出函数来输出utf-8。
我将每个要写入的文件的编码设置为以下方式:
hSetEncoding myFile utf8
{- myFile may be stdout -}
但是当我尝试输出时:
alpha = [toEnum 0x03B1] {- α -}
与在Linux上(或Windows文件中)得到的漂亮的字母不同,我得到了以下内容:
α
奇怪的是,即使我尝试将输出写入文件,我也无法使用mvim以utf-8文件的形式读取它。有没有办法获得正确的行为?
utf8-string
与GHC本地编码设置(设置句柄的编码)组合时,似乎会导致双重转义。我只在早期的GHC上使用过utf8-string
,那时还不支持指定句柄的编码。 - solidsnack