Domanda

cerco file di processo che Scritto da simboli russi. Quando viene letto e dopo il testo in scrittura a file ottenere qualcosa di simile:

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

Come posso ottenere i simboli normali?

Grazie

È stato utile?

Soluzione 3

ho avuto successo.

{-# 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

Altri suggerimenti

Se hai trovato stringhe con backslash e numeri, allora suona come si potrebbe essere chiamata "la stampa" quando si desidera chiamare "putStr".

Se avete a che fare con Unicode, si potrebbe provare a utf8- set di corde

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

Tuttavia non ha funzionato bene nelle mie finestre CLI garbling l'uscita a causa della tabella codici. Mi aspetto che funzioni bene su altri sistemi Unix-like se le impostazioni internazionali sia impostata correttamente. Tuttavia la scrittura del file deve essere successo su tutti i sistemi.

UPDATE:

Un esempio sulla codifica utilizzo pacchetto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top