2016-11-27 13 views
5

Burada basit bir sorun var, ama neden çalışmıyor, neden araştırdım ve birçok örneği denedim, size şu andaki örneğimi gönderiyorum, bunu bir Bunu açıkladıkları öğretici çözümdür, fakat benim durumumda işe yaramıyor, aldığım e-postadaki konu "Ü Ö Ü ß ü" harflerini doğru göstermiyor. Normalde onlar çalışmıyor benim durumumda bu çözüm, farklı öğreticiler ama her yerde yazmakAlman harflerle yazılmış PHP posta konusu

$headers = array(); 
$headers[] = "MIME-Version: 1.0"; 
$headers[] = "Content-type: text/html; charset=utf-8"; 
$headers[] = "From: {$emailfrom}"; 

$to = "[email protected]"; 
$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)); 

, neden? Belki de benim durumumda ay ile ilgili bir şey var mı? lol;)

+0

göre charset kullanıyor utf kullanıyor edilir quoted_printable_encode deneyin? http://php.net/manual/en/function.quoted-printable-encode.php – Zmart

cevap

5

,

mb_internal_encoding("UTF-8"); 
$subject = mb_encode_mimeheader($subject,'UTF-8','Q'); 

Bu Alıntı-yazdırılabilir kodlama ilgilenir. Umarım probleminizi çözmelisiniz.

+0

Sen harikasın, sorun slove sahip. Bazı insanlar hakkında bilgi sahibi olmak. – UserNameHere

+0

Çok teşekkür ederim. – Faisal

1

base64 gerek yok konuyu kodlamak ... Sadece şu çalışıyor:

<?php 

$emailfrom = 'Some Name <[email protected]>'; 

$headers = array(); 
$headers[] = "MIME-Version: 1.0"; 
$headers[] = "Content-type: text/html; charset=utf-8"; 
$headers[] = "From: $emailfrom"; 

$to = "[email protected]"; 
$subject = 'Betreff mit Ä, Ö und Ü ß ü'; 
$txt = "Hallo Sie haben das gewählt, am &#xE4; "; 

mail($to, $subject, $txt, implode("\r\n", $headers)); 

DÜZENLEME: Gmail ile yukarıdaki kod parçacığını yürütme üzerine görüntüler başlıklarından bazıları Gmail adresi: aynı yanlış çıktı araçları iconv bakın varsa

Subject: Betreff mit Ä, Ö und Ü ß ü 
X-PHP-Originating-Script: 1000:test.php 
MIME-Version: 1.0 
Content-type: text/html; charset=utf-8 

Hallo Sie haben das gewählt, am &#xE4; 
+0

Eğer bu kadar kolay olurdu, örneğiniz aynı görünmüyorsa özür dileriz, işte bir resim: https://s22.postimg.org /rwxdtjje9/mail.png her zaman böyle görünüyor -> Betreff mit , und – UserNameHere

+0

Düzenleme bilgilerinizde ne demek istediğinizi anlamadım, ama işe yaramaz, anlayamıyorum, belki de bir webhosting kullanıyorum çünkü sağlayıcı? – UserNameHere

+0

E-posta istemciniz başlıklarda belirttiğiniz karakter kümesine uymuyor gibi görünüyor. Örneğimi kullanıyorsanız, düzgün UTF-8 kodlanmış dizeleri olan bir e-posta gönderirsiniz. Nesnenin birden fazla posta istemcisinde kötü görünüp görünmediğini kontrol edin ... – 1sloc

-1
Try this 
$headers = array(); 
$headers[] = "MIME-Version: 1.0"; 
$headers[] = "Content-type: text/html; charset=utf-8"; 
$headers[] = "From: {$emailfrom}"; 

$to = "[email protected]"; 
$subject = 'Betreff mit Ä, Ö und Ü ß ü'; 
$subject = str_replace(""); 
$subjects = '=?UTF-8?B?'.$subject.'?='; 


$txt = "Hallo Sie haben das gewählt, am &#xE4; "; 
mail($to,$subjects,$txt,implode("\r\n",$headers)); 

() php o verir (Okunabilir insan) gerektiğinde Sen mb_encode_mimeheader kullanmalıdır sorununuza .. tüm iyi dostum için çözüm ..

+0

Teşekkürler, ama örnek de yanlış görünüyor, bana doğru harfleri göstermiyor: Bir resim: https://s22.postimg.org/rwxdtjje9/mail.png it her zaman böyle görünüyor -> Betreff mit , und Belki bu sorun başka bir yerden geliyor – UserNameHere

1

Yani, bir kodlama almak o kodlamayı kullanarak HTML dosyasını kaydedin ve şekillerde en az birinde o kodlamayı beyan emin olmak gerekir. Kodlamanın ne işe yaradığına gelince, Almanlar genellikle ISO/IEC 8859-15 kullanırlar, ancak UTF-8 aynı zamanda ASCII olmayan karakterlerin her türünü ele alabilen iyi bir alternatiftir.

İlk yollar o 8

$headers.="MIME-Version: 1.0\r\nContent-type: text/plain; charset=UTF-8\r\n"; 

İkinci yol alman dili yerine base64_encode ait

$headers.= "MIME-Version: 1.0\r\nContent-Type: text/html; charset=ISO/IEC 8859-15\r\n"; 
İlgili konular