如何在邮件主题中设置变音符号ü
问题描述:
我需要生成包含变音符号的德语电子邮件。在电子邮件本身中,这是完美的,但不是电子邮件的主题。我已经尝试了许多不同的变音字母,除了ü,它们似乎都可以工作。我也尝试过不同的邮件库(HTMLMimeMail & PHPMailer的),他们都未能在此:如何在邮件主题中设置变音符号ü
$mail = new htmlMimeMail();
$mail->setTextEncoding("base64");
$mail->setHTMLEncoding("base64");
$mail->setTextCharset("UTF-8");
$mail->setHTMLCharset("UTF-8");
$mail->setHeadCharset("UTF-8");
$mail->setSMTPParams(mailinglist_smtp_host,mailinglist_smtp_port);
$mail->setHtml("test");
$mail->setFrom("[email protected]");
$mail->setSubject("The ï, ö, ë, ä, and é work, but when adding the ü it doesn't");
$recipients[] = "[email protected]";
$mail->send($recipients);
&
$mail = new PHPMailer();
$mail->IsMail();
$mail->FromName = 'test';
$mail->From = '[email protected]';
$mail->AddAddress("[email protected]");
$mail->Subject = "The ï, ö, ë, ä, and é work, but when adding the ü it doesn't";
$mail->Body = "test";
$mail->Send();
谁能帮我找的来源和解决这个问题?
答
您应该对quoted-printable进行编码。
像这样:
$mail->Subject = "=?UTF-8?Q?" . quoted_printable_encode("The ï, ö, ë, ä, and é work, but when adding the ü it doesn't") . "?=";
引用的可打印编码在PHP中:http://www.php.net/manual/en/function.quoted-printable-encode.php
编辑:$mail->CharSet = "UTF-8";
做的工作。
谢谢,但这并没有解决它。这个问题现在转化为:=?UTF-8?Q?= C3 = AF,= C3 = B6,= C3 = AB,= C3 = A4和= C3 =不是吗?= – Sander
嗯,也许这足以添加'$ mail-> CharSet =“UTF-8”;',并删除引用可打印的东西。试试吧,让我知道它是如何工作的! –
超级,做了PHPMailer的工作:)。谢谢。现在,您可以在我的mimemail代码中看到,我尝试了一个与此类似的选项,但我显然错过了正确的设置。你可能知道我需要在mimemail中设置以应用相同的修复吗? – Sander