2012-11-30 11 views
9

Ho bisogno di generare e-mail tedesche che contengono caratteri di umlaut. Nella e-mail stessa funziona perfettamente, ma non nell'argomento dell'e-mail. Ho provato molte lettere di umlaut diverse e sembrano funzionare, tranne per il ü. Ho provato anche diverse librerie di posta (HTMLMimeMail & PHPMailer) ed entrambi riescono a questo:Come impostare una umlaut ü nell'oggetto della posta

$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(); 

Qualcuno può aiutarmi a trovare la fonte e la soluzione a questo problema?

risposta

8

È necessario quoted-printable codificare l'intestazione dell'oggetto.

Ti piace questa:

$mail->Subject = "=?UTF-8?Q?" . quoted_printable_encode("The ï, ö, ë, ä, and é work, but when adding the ü it doesn't") . "?="; 

Citato codificare stampabile in PHP: http://www.php.net/manual/en/function.quoted-printable-encode.php

Edit: $mail->CharSet = "UTF-8"; fatto il lavoro.

+0

Grazie, ma questo non lo ha risolto. Il soggetto ora si trasforma in: =? UTF-8? Q? Il = C3 = AF, = C3 = B6, = C3 = AB, = C3 = A4 e = C3 = A9 funzionano, ma quando si aggiunge il == C3 = BC no? = – Sander

+4

Hmm forse è sufficiente aggiungere '$ mail-> CharSet =" UTF-8 ";', e rimuovere le cose stampabili quotate. Provalo e fammi sapere come funziona! –

+0

Super, ha fatto il lavoro per il PHPMailer :). Grazie. Ora come puoi vedere nel mio codice mimemail, ho provato un'opzione simile a questa, ma a quanto pare ho mancato l'impostazione giusta. Sai forse cosa devo impostare in mimemail per applicare la stessa correzione? – Sander