![](/img/trans.png)
[英]Use Haskell to Output Utf8 String in the PowerShell on Windows 10
[英]Get Haskell programs to assume a UTF8 locale under wine
我試圖在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
。 這不是你想要的,但如果它工作,它似乎比為每個句柄單獨設置它更容易。
我不知道這是否適用於Wine,但您是否嘗試使用CHCP
命令設置當前的Windows代碼頁?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.