PHP – 使用 iconv_mime_encode() 函数编写 MIME 头字段


在 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

注意 - 在上面的例子中,**Subject -** 是**字段名称**,而从**"=ISO-8859-1?..."**开始的部分是**字段值**。

参数

**iconv_mime_encode()** 接受三个不同的参数 **-** **$field_name**、**$field_value** 和 **$options**。

  • **$field_name -** 此参数用于字段名称。

  • **$field_value -** 此参数用于字段值。

  • **$options -** 使用此参数,您可以通过指定包含配置项的关联数组到可选参数来控制 **iconv_mime_encode()** 的行为。

以下是 **iconv_mime_encode()** 支持的配置项列表:

项目

类型

描述

默认值

示例

scheme

字符串

scheme 指定了用于编码字段值的方法。此项的值可以是 B(base64)或 Q(quoted-printable)编码方案。 


input-charset

字符串

它指定字符集,字段名称是第一个参数,字段值是第二个参数。如果没有给出这些参数,则 iconv_mime_encode() 函数假定它们可能以 iconv.internal_charset ini 设置的形式呈现。

iconv.internal_charset

ISO-8859-1

output-charset

字符串

它指定用于编写 MIME 头的字符集。如果未给出,则将使用 input-charset 值。

input_charset 用作默认值

UTF-8

line-length

整数

它指定报头行的最大长度。

76

996

line-break-chars

字符串

它指定在对长报头字段执行折叠时,附加到每一行作为 EOL 的字符序列。如果未给出,则默认为“\r
”(CR LF)

\r





示例 1 - 使用 "Q" quoted-printable 编码方案

 在线演示

<?php
   // used configuration items supported by iconv_mime_encode()
   $options = array(
      "input-charset" => "ISO-8859-2",
      "output-charset" => "UTF-8",
      "line-length" => 76,
      "line-break-chars" => "
"    );    // Q quoted-printable encoding scheme is used    $options["scheme"] = "Q";    // Below code will show the result as    // "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?=

示例 2

 在线演示

<?php
   // used configuration items supported by iconv_mime_encode()
   $options = array(
      "input-charset" => "ISO-8859-1",
      "output-charset" => "UTF-8",
      "line-length" => 76,
      "line-break-chars" => "
"    );    // B base64 encoding scheme is used    $options["scheme"] = "B";    // Below code will show the result as    //"Subject: =?UTF-8?B?UHJlw4PCp29zIE9sw4PCoC50eHQ=?="    echo iconv_mime_encode("Subject", "Preços Olà.txt", $options); ?>

输出

Subject: =?UTF-8?B?UHJlw4PCp29zIE9sw4PCoC50eHQ=?=

更新于:2021年8月21日

240 次查看

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告