"\ x {1}}"未映射到iso-8859-1 perl

yan*_*kel -1 perl

我有一个名为$ title的字符串

Gardens and Anti-Gardens in Marie de France’s <i>Lais</i>
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误

"\x{2019}" does not map to iso-8859-1
Run Code Online (Sandbox Code Playgroud)

我尝试删除斜体标签,但它仍然给我错误,即

$title =~ s/<i>|<\/i>//g;
Run Code Online (Sandbox Code Playgroud)

谢谢

sim*_*que 5

为什么你认为HTML标签与字符串中的字符有什么关系?

如果你谷歌,\x{2019} 第一次打击就是这个.

Unicode字符'右单引号'(U + 2019)

那就是.通常,Microsoft Word会将撇号(单引号')转换为这些引号.看起来您正在尝试将其字符串打印到转换为ISO-8859-1编码的位置.您应该能够将该角色专门转换为更有意义的内容,例如上面提到的单引号'.

$string =~ s/\x{2019}/'/g;
Run Code Online (Sandbox Code Playgroud)

这应该摆脱那一个警告.但是如果你用unicode导入一些东西然后期望它输出为latin-1,那么更多的字符将会失败.