iconv_mime_encode() 不直接适用于编码包含RFC 1522 s4 & s5中描述的“特殊字符”的头部,例如
<?php
$mimeprefs = array ("scheme" => "Q",
"input-charset" => "utf-8",
"output-charset" => "utf-8",
"line-break-chars" => "\n");
$enc = iconv_mime_encode('From', '"Réal Namé" <[email protected]>', $prefs);
?>
将错误地尝试编码尖括号。要将此函数用作mb_encode_mimeheader()的替代,您需要分别编码单词,并删除多余的字段名。
<?php
$encoded = "From: \"". preg_replace('/^:\s+/', '', iconv_mime_encode("", $real, $mimeprefs))."\" <$email>";
?>
此外,“行长”值大于 76 将违反 RFC 1522 规范,生成的编码字可能无法识别。(未经测试,但 72 更安全。)