UTF-8 жана umlauts менен PHPде почта ()

PHP менен электрондук почта билдирүүлөрүн жөнөтүү , PHPMailer сыяктуу күчтүү класстар менен жакшы жүргүзүлөт. Ыңгайлуу ором функциялары UTF-8 мазмунун колдонууга, сүрөттөрдү жайгаштырууга жана шифрленген тиркемелерди бир нече сап код менен жөнөтүүгө мүмкүндүк берет. Эгерде сиз өзүңүздү ашыкча чыгымдан сактап, PHP функциясын () сунуштамага каршы колдонууну кааласаңыз, анда umlauts жана UTF-8ди колдонууда эң акыркы көйгөйлөр жаралат.


Функцияны менен чалгандан кийин

mail(
   "vieldav@gmx.de",                          // Empfänger
   "ä ö ü ß",                                 // Betreff
   "ä ö ü ß",                                 // Inhalt
   "From: ä ö ü ß <david@vielhuber.de>"       // Header (Absender)
);

UTF-8 коддолгон файлда буга чейин келген каттардагы көйгөйлөргө алып келет: Outlook 2013 дагы деле жагымдуу жана баарын туура көрсөтөт:

mail1

Бирок GMX жоголгон баш аталыштарды кечирбейт жана жаман теманы, жөнөтүүчүнү жана мазмунду көрсөтөт:

mail2

Эгер сиз туура баш аталыштарын жөнөтсөңүз (мисалы base64_encode менен), сиз аласыз

mail(
   "vieldav@gmx.de",                          				  // Empfänger
   "=?UTF-8?B?".base64_encode("ä ö ü ß")."?=",                            // Betreff
   "ä ö ü ß",                                 			 	  // Inhalt
   "Content-type: text/plain; charset=utf-8\r\n"
  ."From: =?UTF-8?B?".base64_encode("ä ö ü ß")."?=<david@vielhuber.de>"   // Header (Absender)
);

жана, акыры, GMX да туура өкүлчүлүгүн көрсөтөт:

mail3

Артка