そのまんま!

mb_encode_mimeheader

(PHP 4 >= 4.0.6, PHP 5)

mb_encode_mimeheader -- MIMEヘッダの文字列をエンコードする

説明

string mb_encode_mimeheader ( string str [, string charset [, string transfer_encoding [, string linefeed [, string indent]]]] )

mb_encode_mimeheader() は、MIME ヘッダ エンコーディング方式によって文字列 str をエンコードします。この関数は、ASCII 表現の文字列を返します。

charset は、str の文字セット名です。デフォルトは、現在の NLS 設定 (mbstring.language)によって決まります。

transfer_encoding は MIME エンコーディングの 方式を指定します。"B" (Base64) または "Q" (Quoted-Printable) のどちらかでなければなりません。 デフォルトは "B" です。

linefeed は EOL(行末)のマーカで、 mb_encode_mimeheader() が行を折りたたむ (RFC 用語で、 ある一定より長い行を複数行に分割することを言います。 分割する長さは、現在 74 文字に固定されています)際に利用します。 デフォルトは "\r\n" (CRLF) です。

例 1. mb_encode_mimeheader() の例

<?php
$name
= "太郎"; // 漢字
$mbox = "kru";
$doma = "gtinn.mon";
$addr = mb_encode_mimeheader($name, "UTF-7", "Q") . " <" . $mbox . "@" . $doma . ">";
echo
$addr;
?>

注意: この関数は、行を分割する際に特別な配慮(単語の区切りなど)を 行いません。このせいで、もとの文字列に予期せぬ空白が入ってしまう 可能性があります。

indent は PHP 5 で追加されました。

mb_decode_mimeheader()も参照ください。