在 PHP 中,iconv_mime_encode()函数用于组成一个 MIME 头字段。这是一个内置的 PHP 函数。
string iconv_mime_encode(string $field_name, string $field_value, array $options=[])
该iconv_mime_encode()函数用于组合并返回一个表示有效 MIME 标头字段的字符串,如下所示 -
Subject: =ISO-8859-1?Q?Pr=FCfung_f=FFCr?= Entwerfen von einer MIME kopfzeile
注意 -在上面的示例中,主题 -是字段名称,以“=ISO-8859-1?...”开头的部分是字段值。
iconv_mime_encode()接受三个不同的参数- $field_name,$field_value和$options。
$field_name -此参数用于字段名称。
$field_value -此参数用于字段值。
$options -使用此参数,您可以iconv_mime_encode()通过指定包含配置项的关联数组来控制可选参数的行为。
以下是支持的配置项列表 iconv_mime_encode()
项目 | 类型 | 说明 | 默认值 | 示例 |
方案 | 字符串 | 该方案指定了对字段值进行编码的方法。此项目值可以是 B (base64) 或 Q(quoted-printable) 编码方案。 | ||
输入字符集 | 字符串 | 它指定字符集,field_name 是第一个参数,field_value 是第二个参数。如果未给出这些参数,则该iconv_mime_encode()函数假定它可能出现在iconv.internal_charsetini 设置中。 | iconv.internal_charset | ISO-8859-1 |
输出字符集 | 字符串 | 它指定用于组成 MIME 标头的字符集。如果未给出,则它将使用输入字符集值。 | input_charset 用作默认值 | UTF-8 |
行长 | 整数 | 它指定标题行的最大长度。 | 76 | 996 |
换行符 | 字符串 | 它指定在长标题字段上执行折叠时要附加到每一行的字符序列作为 EOL。如果未给出,则默认为“\r\n”(CR LF) | \r\n | \n |
<?php // 使用 iconv_mime_encode() 支持的配置项 $options = array( "input-charset" => "ISO-8859-2", "output-charset" => "UTF-8", "line-length" => 76, "line-break-chars" => "\n" ); // 使用 Q 引用的可打印编码方案 $options["scheme"] = "Q"; // 下面的代码将结果显示为 // "Subject: =?UTF-8?Q?Pr=C3=BCfung=20Pr=C3=BCfung?=" echo iconv_mime_encode("Subject", "Prüfung Prüfung", $options); ?>输出结果
Subject: =?UTF-8?Q?Pr=C3=83=C2=BCfung=20Pr=C3=83=C2=BCfung?=
<?php // 使用 iconv_mime_encode() 支持的配置项 $options = array( "input-charset" => "ISO-8859-1", "output-charset" => "UTF-8", "line-length" => 76, "line-break-chars" => "\n" ); // B 使用 base64 编码方案 $options["scheme"] = "B"; // 下面的代码将结果显示为 //"Subject: =?UTF-8?B?UHJlw4PCp29zIE9sw4PCoC50eHQ=?=" echo iconv_mime_encode("Subject", "Preços Olà.txt", $options); ?>输出结果
Subject: =?UTF-8?B?UHJlw4PCp29zIE9sw4PCoC50eHQ=?=