HaskellのIOロシアのシンボル
-
27-09-2019 - |
質問
私はロシアの記号で書かれたプロセスファイルを試してみてください。
:読み取りと書き込みのテキストファイルにした後、ときに私のような何かを得ます"\ 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」を呼び出したいときは、「印刷」を呼び出すことがありますように
は、それが鳴ります。
あなたはユニコードを扱う場合、あなたは試してみてください 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ライクなシステム上の作業罰金にそれを期待しています。ただし、ファイルへの書き込みは、すべてのシステムで成功しなければなりません。
UPDATE:
所属していません StackOverflow