2012-11-30 24 views
9

Tôi cần tạo e-mail tiếng Đức có chứa các ký tự âm sắc. Trong e-mail chính nó hoạt động hoàn hảo, nhưng không phải trong chủ đề của e-mail. Tôi đã thử nhiều chữ cái umlaut khác nhau và tất cả chúng dường như hoạt động ngoại trừ ü. Tôi cũng đã cố gắng thư viện mail khác nhau (HTMLMimeMail & PHPMailer) và cả hai đều thất bại tại đây:Cách đặt âm lượng ü trong chủ đề thư

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

bất cứ ai có thể giúp tôi tìm ra nguồn gốc của và giải pháp cho vấn đề này?

Trả lời

8

Bạn nên quoted-printable mã hóa tiêu đề chủ đề.

Như thế này:

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

trích dẫn mã hóa có thể in được trong PHP: http://www.php.net/manual/en/function.quoted-printable-encode.php

Edit: $mail->CharSet = "UTF-8"; đã làm công việc.

+0

Cảm ơn, nhưng điều này không giải quyết được. Bây giờ đối tượng được chuyển thành: =? UTF-8? Q? = = C3 = AF, = C3 = B6, = C3 = AB, = C3 = A4 và = C3 = A9, nhưng khi thêm == C3 = BC nó không? = – Sander

+4

Hmm có thể là đủ để thêm '$ mail-> CharSet =" UTF-8 ";' và xóa các nội dung được trích dẫn. Hãy thử nó và cho tôi biết nó hoạt động như thế nào! –

+0

Siêu, đã làm công việc cho PHPMailer :). Cảm ơn. Bây giờ bạn có thể thấy trong mã mimemail của tôi, tôi đã thử một tùy chọn tương tự như tùy chọn này, nhưng tôi dường như đã bỏ lỡ cài đặt phù hợp. Bạn có lẽ biết những gì tôi cần phải thiết lập trong thư thoại để áp dụng cùng một sửa chữa? – Sander

Các vấn đề liên quan