我有一个名为$ title
的字符串Gardens and Anti-Gardens in Marie de France’s <i>Lais</i>
我收到此错误
"\x{2019}" does not map to iso-8859-1
我尝试删除斜体标签,但它仍然给我错误,即
$title =~ s/<i>|<\/i>//g;
谢谢
答案 0 :(得分:5)
为什么您认为HTML标记与字符串中的字符有关?
如果你谷歌\x{2019}
the first hit is this。
Unicode字符'右单引号'(U + 2019)
那是’
。通常,Microsoft Word将撇号(单引号'
)转换为这些引号。看起来您正在尝试将其字符串打印到转换为ISO-8859-1编码的位置。您应该能够将该角色专门转换为更有意义的内容,例如上面提到的单引号'
。
$string =~ s/\x{2019}/'/g;
那应该摆脱那一个警告。但是如果你用unicode导入一些东西,然后期望它输出为latin-1,那么更多的字符将会失败。
答案 1 :(得分:1)
编码ISO-8859-1不包含字符U + 2019。