0

所以我有这个双重编码的 UTF-8 文件。例如。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>test</title>
</head>

<body>
<p>this is a “testâ€Â&lt;/p>
</body>
</html>

网址:http ://www.frostjedi.com/terra/scripts/demo/utf8-1.html

如果在 Firefox 中查看源代码,然后将其复制/粘贴到一个新文件中,我就有效地撤消了双重编码。例如。

http://www.frostjedi.com/terra/scripts/demo/utf8-2.html

我的问题是......我怎样才能通过 CLI 做到这一点?

我试过这个:

iconv -f UTF-8 -t ISO-8859-1 utf8-1.html > utf8-3.html

但是得到了这个:

iconv: illegal input sequence at position 294

有任何想法吗?

4

1 回答 1

3

尝试Windows-1252代替ISO-8859-1.

这是 Windows Latin-1 和 Latin-1 之间的区别。所有浏览器,包括 Mac 和 Linux,都错误地将 Windows-Latin-1 视为 ISO-8859-1,因为它填充了 0x80-0x9F 字符。

不能保证一切都解决了。

于 2013-09-17T15:47:35.947 回答