我这里可能有一个简单的问题,但我不明白为什么它不起作用,我进行了研究并尝试了很多示例,我将我当前的示例发布给您,我从他们解释过的教程中获得了这个是解决方案,但在我的情况下它不起作用,我收到的电子邮件中的主题没有正确显示字母“Ä Ö Ü ß ü”。
$headers = array();
$headers[] = "MIME-Version: 1.0";
$headers[] = "Content-type: text/html; charset=utf-8";
$headers[] = "From: {$emailfrom}";
$to = "myemail@yahoo.de";
$subject = 'Betreff mit Ä, Ö und Ü ß ü';
$subject = '=?UTF-8?B?'.base64_encode($subject).'?=';
$txt = "Hallo Sie haben das gewählt, am ä ";
mail($to,$subject,$txt,implode("\r\n",$headers));
通常他们在不同的教程中到处写这是解决方案,但在我的情况下它不起作用,为什么?就我而言,这可能与月亮有关吗?哈哈 ;)
最佳答案
你应该使用 mb_encode_mimeheader ,
mb_internal_encoding("UTF-8");
$subject = mb_encode_mimeheader($subject,'UTF-8','Q');
它会在需要时负责编码为 Quoted-printable(人类可读)。希望它能解决您的问题。
关于带有德语字母的 PHP 邮件主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40828111/