mb_encode_mimeheader

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

mb_encode_mimeheaderMIMEヘッダの文字列をエンコードする

説明

mb_encode_mimeheader ( string $str [, string $charset = mb_language() によって決まる値 [, string $transfer_encoding = "B" [, string $linefeed = "\r\n" [, int $indent = 0 ]]]] ) : string

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;
?>

注意

注意:

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

参考