Ben "echo" çalıştığımda nasıl bu garip karakterler alabilirim

4 Cevap php

Ben HTML kodunu içeren değişkeni PHP ile posta fonksiyonuna yankı gönderiyorum. Garip şey, bu

<����}im�

dize SONRA gösterir .. ama ben artık onunla işlemek yoktur. Mail fonksiyonu (ek) charset HTML kodu charset aynıdır.

4 Cevap

Sorunun Kodlama, belki de ikili kodunu görüntülemek için çalışır?

Ou HTML görüntülemek istiyorsanız htmlentitiesi kullanmalısınız

/ / Çıkışlar: A 'alıntı' olduğunu

kalın eko

htmlentities ($ str);

Bu karakterler muhtemelen dizede "önemsiz" verilerdir. Dizesi bu karakterlerin nereden geldiğini bağlı olabilir: HTML sayfası veya ek veri dosyasında HTML sayfadan sonra, ya aslında kendi HTML sayfası (belki de kendi dosya bu karakterleri koymak başkası sonra yuvasında ekstra TCP veri yanlışlıkla) bozuk, ya da başka bir nedenle edildi.

Sen e-posta kullanımı için htmlMimeMail sınıfını kullanarak düşünebiliriz. Yani kötü e-posta internals önleyebilirsiniz.

Bu ben .. Internet kaynağından kodunu kullanmak var sorun, $ vücut fatura oluşturulur ve bu e-posta göndermek olduğunu .. Bu karakterler HTML kaynak dosyasının sonunda ama kim bunlar, neden ben anlamıyorum orada: (

$to = 'email@email.com';
$subject = 'Invoice';
$random_hash = md5(date('r', time()));
$headers = "From: mymail@mymail.com\r\nReply-To: webmaster@example.com";
$headers .= "\r\nContent-Type: multipart/mixed; boundary=\"PHP-mixed-".$random_hash."\"";
$body=rtrim(chunk_split(base64_encode($body))); 
//define the body of the message.
ob_start(); //Turn on output buffering
?>
--PHP-mixed-<?php echo $random_hash; ?> 
Content-Type: multipart/alternative; boundary="PHP-alt-<?php echo $random_hash; ?>"

--PHP-alt-<?php echo $random_hash; ?> 
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit

Hello World!!!
This is simple text email message.

--PHP-alt-<?php echo $random_hash; ?> 
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: 7bit

Text Emailu.

--PHP-alt-<?php echo $random_hash; ?>--

--PHP-mixed-<?php echo $random_hash; ?> 
Content-Type: text/html; charset="UTF-8"; name="faktura.html" 
Content-Transfer-Encoding: base64 
Content-Disposition: attachment 

<?php echo htmlentities($body); ?>
--PHP-mixed-<?php echo $random_hash; ?>--

<?php
//copy current buffer contents into $message variable and delete current output buffer
$message = ob_get_clean();
//send the email
$mail_sent = @mail( $to, $subject, $message, $headers );