ฟังก์ชัน iconv_mime_encode() ใช้สร้าง (compose) MIME header field เป็น built-in PHP function
รูปแบบการใช้งาน (Syntax)
string iconv_mime_encode(string $field_name, string $field_value, array $options = [])
ฟังก์ชันคืนค่าสตริงที่เป็น valid MIME header field ในรูปแบบ:
Subject: =ISO-8859-1?Q?Pr=FCfung_f=FFCr?= Entwerfen von einer MIME kopfzeile
หมายเหตุ: Subject คือ field name ส่วนที่ขึ้นต้นด้วย "=ISO-8859-1?..." คือ field value
พารามิเตอร์
- $field_name – ชื่อฟิลด์ (เช่น "Subject")
- $field_value – ค่าของฟิลด์
- $options – associative array ควบคุมพฤติกรรม การตั้งค่าที่รองรับ:
Item Type Description Default Value Example scheme string วิธีเข้ารหัส field value: B (base64) หรือ Q (quoted-printable) B Q input-charset string character set ของ field_name และ field_value ค่าเริ่มต้นจาก iconv.internal_charset iconv.internal_charset ISO-8859-1 output-charset string character set สำหรับสร้าง MIME header ค่าเริ่มต้นใช้ input-charset input_charset UTF-8 line-length integer ความยาวสูงสุดของ header lines 76 996 line-break-chars string ลำดับตัวอักษรสำหรับ EOL เมื่อ fold บรรทัดยาว ค่าเริ่มต้น "\r\n" \r\n \n
ตัวอย่าง 1: ใช้ Q (quoted-printable) encoding
<?php
$options = [
"input-charset" => "ISO-8859-2",
"output-charset" => "UTF-8",
"line-length" => 76,
"line-break-chars" => "\n"
];
$options["scheme"] = "Q";
echo iconv_mime_encode("Subject", "Prüfung Prüfung", $options);
?>
ผลลัพธ์
Subject: =?UTF-8?Q?Pr=C3=83=C2=BCfung=20Pr=C3=83=C2=BCfung?=
ตัวอย่าง 2: ใช้ B (base64) encoding
<?php
$options = [
"input-charset" => "ISO-8859-1",
"output-charset" => "UTF-8",
"line-length" => 76,
"line-break-chars" => "\n"
];
$options["scheme"] = "B";
echo iconv_mime_encode("Subject", "Preços Olà.txt", $options);
?>
ผลลัพธ์
Subject: =?UTF-8?B?UHJlw4PCp29zIE9sw4PCoC50eHQ=?=