如何将编码的替换字符设置为ISO-8859-1

时间:2014-02-05 18:06:13

标签: perl character-encoding iso-8859-1

Encode模块的文档说明了在编码时处理格式错误的字符:

  

CHECK = Encode :: FB_DEFAULT(== 0)

     
    

如果 CHECK 为0,则编码和解码会用替换字符替换任何格式错误的字符。当你              使用编码, SUBCHAR

  

如何指定或至少查询特定编码的替换字符。我对iso-8859-1感兴趣。

1 个答案:

答案 0 :(得分:5)

你不能,但你可以使用回调来达到同样的效果。

$ perl -MEncode -E'say encode("iso-8859-1", "ab\x{2660}d\x{E9}f")' \
   | iconv -f iso-8859-1
ab?déf

$ perl -MEncode -E'say encode("iso-8859-1", "ab\x{2660}d\x{E9}f", sub { "*" })' \
   | iconv -f iso-8859-1
ab*déf
相关问题