iconv_mime_encode
Description
The iconv_mime_encode of iconv for PHP composes a MIME header field.
Syntax
iconv_mime_encode(
string $field_name,
string $field_value,
array $options = []
): string|falseParameters
field_name
The field name.
field_value
The field value.
options
You can control the behaviour of iconv_mime_encode() by specifying an associative array that contains configuration items to the optional third parameter options. The items supported by iconv_mime_encode() are listed below. Note that item names are treated case-sensitive.
| Item | Type | Description | Default | Example |
|---|---|---|---|---|
| scheme | string | Specifies the method to encode a field value by. The value of this item may be either "B" or "Q", where "B" stands for base64 encoding scheme and "Q" stands for quoted-printable encoding scheme. | B | B |
| input-charset | string | Specifies the character set in which the first parameter field_name and the second parameter field_value are presented. If not given, iconv_mime_encode() assumes those parameters are presented to it in the iconv.internal_encoding ini setting. | iconv.internal_encoding | ISO-8859-1 |
| output-charset | string | Specifies the character set to use to compose the MIME header. | iconv.internal_encoding | UTF-8 |
| line-length | int | Specifies the maximum length of the header lines. The resulting header is "folded" to a set of multiple lines in case the resulting header field would be longer than the value of this parameter. If not given, the length will be limited to 76 characters. | 76 | 996 |
| line-break-chars | string | Specifies the sequence of characters to append to each line as an end-of-line sign when "folding" is performed on a long header field. If not given, this defaults to "\r\n" (CR LF). Note that this parameter is always treated as an ASCII string regardless of the value of input-charset. | \r\n | \n |
Return
Returns an encoded MIME field on success, or false if an error occurs during the encoding.
Examples
1 · field_name field_value
<? $field_name = "subject"; $field_value = "my·subject"; $return = iconv_mime_encode($field_name, $field_value); echo $return;
subject: =?UTF-8?B?bXnCt3N1YmplY3Q=?=
2 · options
<?
$field_name = "subject";
$field_value = "my·subject";
$options =
[
"scheme" => "B",
"input-charset" => "UTF-8",
"output-charset" => "UTF-8",
"line-length" => 76,
"line-break-chars" => "\r\n"
];
$return = iconv_mime_encode($field_name, $field_value, $options);
echo $return;
subject: =?UTF-8?B?bXnCt3N1YmplY3Q=?=
3 · options · scheme
<?
$field_name = "subject";
$field_value = "my·subject";
$options =
[
"scheme" => "Q"
];
$return = iconv_mime_encode($field_name, $field_value, $options);
echo $return;
subject: =?UTF-8?Q?my=C2=B7subject?=
4 · options · output-charset
<?
$field_name = "subject";
$field_value = "my·subject";
$options =
[
"output-charset" => "ISO-8859-1"
];
$return = iconv_mime_encode($field_name, $field_value, $options);
echo $return;
subject: =?ISO-8859-1?B?bXm3c3ViamVjdA==?=