[英]Encode strings parsed by HXT to proper UTF8 String
我正在使用簡化解析器示例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解析的字符串?
使用decodeUtf8
從Data.Text.Encoding
與組合pack
從Data.ByteString.Char8.pack
:
*Main > import Data.Text.Encoding as E
*Main > import Data.ByteString.Char8 as C
*Main > import Data.Text.IO as T
*Main > T.putStrLn . E.decodeUtf8 . C.pack $ n
Ижора-С
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.