2015-10-15 3 views
7

ワインにGHCを使用してWindows用のHaskellアプリケーションを構築しようとしています。これまでのところうまくいきましたが、テストスイートを実行していましたが、これはUTF8ロケール(例えばLANG=C.utf8)で動作するようになっています。残念ながら、Haskellランタイムは常に私が欲しいと思っています。すべてのハンドルのエンコーディングを設定するための実際のコードを変更するだけでなくワインの下にUTF8ロケールを想定するHaskellプログラムを取得する

$ 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 

:非Unicodeコードページを使用してどのように私はここにHaskellのプログラムを使用するUTF-8(すなわちコードページ65001)を作るのでしょうか?

+0

環境変数の設定に役立つ代替方法があります。つまり、環境には何か関係があります。 https://www.winehq.org/docs/wineusr-guide/environment-variables – dfeuer

+0

残念ながら、環境変数がコードページに影響するとは思わないでしょう。 –

+0

また、LANGではなく、より強力な 'LC_ALL'を試しましたか?私はちょうどここに推測を投げている。 – dfeuer

答えて

2

私はワイン/ハスケルの設定をしていませんので、これを塩の多くの穀物で取ってください。

setLocaleEncoding :: TextEncoding -> IO() 
utf8 :: TextEncoding 

、彼らが軌道に乗る前に、setLocaleEncoding utf8テストプログラムを作ってみることができます:それはGHC.IO.Encodingは、このための右の部分であるかもしれないものを持って見えます。これはあなたが望んだものではありませんが、それが機能する場合は、ハンドルごとに個別に設定するよりも簡単です。

+0

ありがとうございます。コードを修正しないものが本当に好きなので、utf8を有効にした状態でユーザーのマシンで実行しているかのようにプログラムをテストすることができます。私は検索を続けます。 –

0

これはWineで動作するのかわかりませんが、CHCPコマンドを使用して現在のWindowsコードページを設定しようとしましたか?

+0

これは私が実際のウィンドウで私のユーザーを推薦するものです。残念ながら、このコマンドはWINEでは使用できません。 –

+0

ああ、まあ、試してみる価値があった! – MathematicalOrchid

関連する問題