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

Perl 如何设置编码为ISO-8859-1的替换字符,perl,character-encoding,iso-8859-1,Perl,Character Encoding,Iso 8859 1,Encode模块的文档说明了在编码时如何处理格式错误的字符: 检查=编码::FB_默认值(=0) 如果检查值为0,则编码和解码将用替换字符替换任何格式错误的字符。当你 编码,使用子字符 如何指定或至少查询特定编码的替换字符是什么。我对iso-8859-1感兴趣。您不能,但您可以使用回调来实现相同的效果 $ perl -MEncode -E'say encode("iso-8859-1", "ab\x{2660}d\x{E9}f")' \ | iconv -f iso-8859-1 ab?d

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

检查=编码::FB_默认值(=0)

如果检查值为0,则编码和解码将用替换字符替换任何格式错误的字符。当你 编码,使用子字符


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

感兴趣。您不能,但您可以使用回调来实现相同的效果

$ 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

不能,但可以使用回调来实现相同的效果

$ 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

(iconv-f iso-8859-1是因为我有一个UTF-8端子)(iconv-f iso-8859-1是因为我有一个UTF-8端子)