2

我正在阅读一个 HTML 网页,其中包含文字重音词(西班牙语):

<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\180sH\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 回答