我的输入数据如下(由 hexdump 生成):
000000f0 69 61 6e e2 80 99 73 20 65 79 65 73 20 61 62 72 |ian...s eyes abr|
当我在 Firefox 中打开此 html() 文件时,它会显示这些字符:
ian’s eyes abr
根据链接https://superuser.com/questions/1237545/characters-in-email-displayed-like-e2-80-99,“E2 80 99 是在 UTF-8 中编码右单引号 (') 的十六进制值序列”。
此网站同意:https ://www.utf8-chartable.de/unicode-utf8-table.pl?start=8192&number=128
当我对包含以下字符的文件运行此 iconv 命令时:
iconv -f UTF-8 -t ISO-8859-15 test_chapter.html > blah.html
我得到输出:
iconv: illegal input sequence at position 243
并且“blah.html”的内容在撇号所在的位置被截断。
因此,总而言之,互联网说这是 UTF-8 的有效字节序列,但 iconv 不同意。
有人能帮我了解发生了什么吗?这是 iconv 中的错误吗?
顺便提一下,当我使用 kindlegen 生成 AZW 文件时,字符无法正确显示。互联网告诉我,我需要将文件转换为 UTF-8,但据我所知,它已经是了!