(PHP 4 >= 4.0.6, PHP 5, PHP 7)
mb_encode_mimeheader — Encode string for MIME header
$str
   [, string $charset = determined by mb_language()
   [, string $transfer_encoding = "B"
   [, string $linefeed = "\r\n"
   [, int $indent = 0
  ]]]] )
   Encodes a given string
   str by the MIME header encoding scheme.
  
strThe string being encoded. Its encoding should be same as mb_internal_encoding().
charset
       charset specifies the name of the character set
       in which str is represented in. The default value
       is determined by the current NLS setting (mbstring.language).
      
transfer_encoding
       transfer_encoding specifies the scheme of MIME
       encoding. It should be either "B" (Base64) or
       "Q" (Quoted-Printable). Falls back to
       "B" if not given.
      
linefeed
       linefeed specifies the EOL (end-of-line) marker
       with which mb_encode_mimeheader() performs
       line-folding (a » RFC term,
       the act of breaking a line longer than a certain length into multiple
       lines. The length is currently hard-coded to 74 characters).
       Falls back to "\r\n" (CRLF) if not given.
      
indent
       Indentation of the first line (number of characters in the header
       before str).
      
A converted version of the string represented in ASCII.
Example #1 mb_encode_mimeheader() example
<?php
$name = ""; // kanji
$mbox = "kru";
$doma = "gtinn.mon";
$addr = mb_encode_mimeheader($name, "UTF-7", "Q") . " <" . $mbox . "@" . $doma . ">";
echo $addr;
?>
Note:
This function isn't designed to break lines at higher-level contextual break points (word boundaries, etc.). This behaviour may clutter up the original string with unexpected spaces.