我正在尝试在 wine 上使用 GHC 来构建我的 Windows Haskell 应用程序之一。到目前为止,这运行良好,但我无法运行我的测试套件,它旨在在 UTF8 语言环境中运行(例如 LANG=C.utf8
。)
不幸的是,在 wine 下,Haskell 运行时总是认为我想使用非 unicode 代码页:
$ wine ghc -e 'GHC.IO.Encoding.CodePage.localeEncoding'
CP850
$ LANG=C.utf8 wine ghc -e 'GHC.IO.Encoding.CodePage.localeEncoding'
CP437
$ LC_ALL=C.utf8 wine ghc -e 'GHC.IO.Encoding.CodePage.localeEncoding'
CP437
除了更改实际代码以设置所有句柄的编码之外:我如何让 Haskell 程序在这里使用 UTF-8(即代码页 65001)?
最佳答案
我这里没有 Wine/Haskell 设置,因此请多加注意。看起来GHC.IO.Encoding有什么可能是正确的:
setLocaleEncoding :: TextEncoding -> IO ()
utf8 :: TextEncoding
您可以尝试让您的测试程序在它们运行之前setLocaleEncoding utf8
。这不是您想要的,但如果可行,似乎比为每个句柄单独设置更容易。
关于windows - 让 Haskell 程序在 wine 下采用 UTF8 语言环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33156758/