2

アクセント付きの単語 (スペイン語) を含む HTML Web ページを読んでいます。

<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<title>Web page</title>
<body>
<p>Título</p>
<p>Año</p>
<p>Ángel</p>
<p>¿por qué nos vamos?</p>
</body>

私はHXTを使用しています:

...
let doc = readDocument [ withValidate no
                       , withInputEncoding iso8859_1
                       , withParseHTML yes
                       , withWarnings no
                       , withEncodingErrors no
                       , withCurl []] url
...

オプションの使用

withInputEncoding utf8

それらの文字を破棄し、結果として次の単語を取得します: Ttulo , Ao , ngel , por qu nos vamos? オプションの使用

withInputEncoding iso8859_1

これらの文字を文字列に変換し、結果としてRom\225nticaMan\ 180s 、H\233ctorのような単語を取得します。\225、\ 180または\233は、文字ではなく文字列です。

HXT でこの状況を適切に管理し、すべての単語を変更せずに取得するための最良の方法/方法/アプローチは何ですか?

ありがとう。

4

1 に答える 1

6

必要なものはすべて揃っているに違いない

Prelude> putStrLn $ read "\"Rom\225ntica\""
Romántica

show文字列自体ではなく、文字列に適用された結果を見ているように見えますか? printを使用することに注意してくださいshow

Prelude> print (read "\"Rom\225ntica\"" :: String)
"Rom\225ntica"
于 2015-03-01T20:12:54.207 に答える