単純化されたパーサーの例である hxt を使用して、utf8 でエンコードされたページを解析しています。
names = multi (hasName "h1") >>> proc h1 do
name <- getText <<< getChildren -< h1
returnA name
名前を印刷しようとするまで、すべてが正常に機能します。
*Main > n
"\208\152\208\182\208\190\209\128\208\176-\208\161"
*Main > :t n
n :: String
*Main > putStrLn n
ÐжоÑа-С
*Main > Data.Text.IO.putStrLn $ Data.Text.pack n
ÐжоÑа-С
オプションを使用して解析していますwithInputEncoding "utf8"
。hxt によって解析された文字列を適切にエンコードするにはどうすればよいですか?