gle*_*man 1 perl iso-8859-1 character-encoding
Encode模块的文档说明了在编码时处理格式错误的字符:
CHECK = Encode :: FB_DEFAULT(== 0)
如果CHECK为0,则编码和解码将替换任何格式错误的字符替换为替换字符.编码时,使用SUBCHAR.
如何指定或至少查询特定编码的替换字符.我很感兴趣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
Run Code Online (Sandbox Code Playgroud)