我尝试,其通过俄语符号writen处理文件。当读写文本后提交我得到这样的:

“\ 160 \ 192 \ 231 \ 229 \ 240 \ 225 \ 224 \ 233 \ 228 \ 230 \ 224 \ 237”

我怎样才能获得正常的符号?

由于

有帮助吗?

解决方案 3

我已经得到成功。

{-# LANGUAGE ImplicitParams #-}

import Network.HTTP
import Text.HTML.TagSoup
import Data.Encoding
import Data.Encoding.CP1251
import Data.Encoding.UTF8

openURL x =  do 
        x <- simpleHTTP (getRequest x)
        fmap (decodeString CP1251) (getResponseBody x)

main :: IO ()
main = do
    tags <- fmap parseTags $ openURL "http://www.trade.su/search?ext=1"
    let TagText r  = partitions (~== "<input type=checkbox>") tags !! 1 !! 4
    appendFile "out" r

其他提示

如果你正在用反斜杠和数字的字符串,那么它听起来就像你可能会叫“打印”当你想称之为“putStr”。

如果你处理Unicode的,你可以尝试 utf8-串包

import System.IO hiding (hPutStr, hPutStrLn, hGetLine, hGetContents, putStrLn)
import System.IO.UTF8
import Codec.Binary.UTF8.String (utf8Encode)
main = System.IO.UTF8.putStrLn "Вася Пупкин"

但它并不能很好地在我的窗口工作CLI错乱,因为代码页的输出。我期望它的工作对其他类Unix系统,如果您的区域设置正确的罚款。但是写入文件应该是对所有系统全成。

更新:

上编码包用法的例子

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top