所以我有这个双重编码的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â€Â</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
有什么想法吗?
答案 0 :(得分:2)
尝试使用Windows-1252
代替ISO-8859-1
。
这是Windows Latin-1和Latin-1之间的区别。所有浏览器,Mac和Linux,都错误地接受了Windows-Latin-1的ISO-8859-1,因为它填充了0x80-0x9F字符。
不保证一切都已解决。