[過去ログ]
関数型プログラミング言語Haskell Part16 (978レス)
関数型プログラミング言語Haskell Part16 http://echo.5ch.net/test/read.cgi/tech/1317958045/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
738: 712 [sage] 2011/12/18(日) 21:56:10.45 >>736 すいません まず最終的にやりたいことは、PostgreSQL に作ったテーブル内のデータが UTF-8 の日本語で、 その文字列データを取得してコマンドプロンプトに表示するプログラムをHaskellで作る ということ Haskell コード内でその文字列データ([Char] 型)を変数に束縛するとことは問題なくできた というのも、その変数に System.IO.writeFile 関数を適用して得られたファイルを見ると、 正しく UTF-8 エンコードの日本語になっていたから (当然だけど、writeFile の前に hSetEncoding 関数を utf8 に適用している) コマンドプロンプトの方は、cmd.exe へのショートカットファイルのプロパティで [オプション タブ]-[現在のコードページ] を "932" に、 [フォント タブ]-[フォント] を "MS ゴシック" に、 [ショートカット タブ]-[リンク先] を "%windir%\system32\cmd.exe "/K chcp 65001" に設定 このプロパティでコマンドプロンプトを起動し、その上で ghci を立ち上げ、 自作の *.hs ファイルをロードして、関数を評価しているが、 先ほどの [Char] 型の変数を ghci 上で評価すると utf-8 文字がエスケープされる ( ascii 文字以外は \ マークと数字数桁で表示される) 同じ [Char] 型の変数に putStrLn 関数を適用すると、 >>712(正確には >>713)のように日本語部分だけ各日本語文字1字に対して 余計な文字が2つずつ後に付随してくる(まぁエスケープに比べて読めなくはない) どうすれば、コマンドプロンプト(コンソール)に UTF-8 日本語を正しく表示できるのだろうか 上記の現象はデータベース処理とは関係なく、UTF-8 エンコードされた Haskell プログラムが書かれたファイル内に直接 s="テスト" と書いて、 それを ghci 上で同じように評価したりしても再現できるため、 >>712 では現象再現のための最低限の情報だけで質問しました http://echo.5ch.net/test/read.cgi/tech/1317958045/738
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 240 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.022s