簡體   English   中英

讓Haskell程序在wine下假定UTF8語言環境

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM