mb_encode_mimeheader — 为 MIME 头编码字符串

2017-12-18 23:24:00
linefo
490
最后编辑:linefo 于 2017-12-18 23:38:03

mb_encode_mimeheader

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_encode_mimeheader为 MIME 头编码字符串

说明

string mb_encode_mimeheader ( string $str [, string $charset = mb_internal_encoding() [, string $transfer_encoding = "B" [, string $linefeed = " " [, int $indent = 0 ]]]] )

按 MIME 头编码方案将指定的字符串 str 进行编码。

参数

str

要编码的 string

charset

charset 指定了 str 的字符集名。 其默认值由当前的 NLS 设置(mbstring.language)来确定。 mb_internal_encoding() 应当设置为同样的编码。

transfer_encoding

transfer_encoding 指定了 MIME 的编码方案。 它可以是 "B"(Base64)也可以是 "Q"(Quoted-Printable)。 如果未设置,将回退为 "B"

linefeed

linefeed 指定了 EOL(行尾)标记,使 mb_encode_mimeheader() 执行了一个换行(» RFC 文档中规定,超过长度的一行将换成多行,当前该长度硬式编码为 74 个字符)。 如果没有设定,则回退为 " " (CRLF)。

indent

首行缩进(header 里 str 前的字符数目)。

返回值

转换后的字符串版本以 ASCII 形式表达。

范例

Example #1 mb_encode_mimeheader() 例子

<?php
$name 
""// kanji
$mbox "kru";
$doma "gtinn.mon";
$addr mb_encode_mimeheader($name"UTF-7""Q") . " <" $mbox "@" $doma ">";
echo 
$addr;
?>

注释

Note:

这个函数没有设计成据更高级上下文的中断点来换行(单词边界等)。 这个特性将导致意外的空格可能会让原始字符串看上去很乱。

参见