(PHP 4 >= 4.0.6, PHP 5, PHP 7)
mb_encode_mimeheader — MIMEヘッダの文字列をエンコードする
$str
[, string $charset
= mb_language() によって決まる値
[, string $transfer_encoding
= "B"
[, string $linefeed
= "\r\n"
[, int $indent
= 0
]]]] )
MIME ヘッダエンコーディング方式によって文字列 str
をエンコードします。
str
エンコードする文字列。 mb_internal_encoding() と同じエンコーディングにしなければいけません。
charset
charset
は、str
の変換後の文字セット名です。デフォルトは、現在の NLS 設定
(mbstring.language) によって決まります。
transfer_encoding
transfer_encoding
は MIME エンコーディングの
方式を指定します。"B" (Base64) または
"Q" (Quoted-Printable) のどちらかでなければなりません。
デフォルトは "B" です。
linefeed
linefeed
は EOL (行末) のマーカで、
mb_encode_mimeheader() が行を折りたたむ
(» RFC 用語で、
ある一定より長い行を複数行に分割することを言います。
分割する長さは、現在 74 文字に固定されています) 際に利用します。
デフォルトは "\r\n" (CRLF) です。
indent
最初の行の字下げ (ヘッダで
str
の前におく文字数)。
文字列を ASCII 表現に変換したものを返します。
例1 mb_encode_mimeheader() の例
<?php
$name = "太郎"; // 漢字
$mbox = "kru";
$doma = "gtinn.mon";
$addr = mb_encode_mimeheader($name, "UTF-7", "Q") . " <" . $mbox . "@" . $doma . ">";
echo $addr;
?>
注意:
この関数は、行を分割する際に特別な配慮(単語の区切りなど)を行いません。 このせいで、もとの文字列に予期せぬ空白が入ってしまう可能性があります。