การส่งเมลโดย php ด้วย subject ภาษาไทย

เริ่มโดย ttong, 03 กรกฎาคม 2009, 09:53:36

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

ttong

ถ้าเว็บผมเป็น utf-8 แล้วผมส่งเมลเข้า hotmail ด้วย function mail() ของ php

แล้วตั้ง subject เป็นภาษาไทย

เมื่อมาถึง hotmail ตรง subject จะกลายเป็น

เธ-เธ"เธชเธญเธ เธชเน เธ เธ เธฒเธฉ

ประมาณนี้ครับ

พอจะมีวิธีแก้ไขบ้างมั้ยครับ ขอบคุณมากนะครับ

kobkung

เคยโดน สมัยแรกๆ ไม่มีคนสอนเยอะแบบนี้  หากันแทบแย่  ใส่ตรงนี้เข้าไปครับ

$mailsubject = "=?utf-8?B?".base64_encode("ใส่หัวข้อเมลตรงนี้")."?=";
เราเป็นบริษัท รับทำเว็บไซต์ แก้เว็บเดิม เขียน Php+Mysql+jQuery+css+bootstrap  งานตามสั่ง ประสบการณ์ จะ 19 ปี ละจ้า
[direct=http://www.smilephp.com]Smilephp.com[/direct] รับทำเว็บไซต์บริษัท e-commerce + ระบบชำระเงิน paypal,ธนาคาร  เว็บบริษัท เว็บขายของ ระบบจอง เช่า เขียน PHP ได้ทุกแนว  ช่วงนี้เน้นรับงาน ERP ระบบเอกสารบริษัท ,บัญชี ,  Barcode, Stock , Warehouse , Logistic ติดต่อ 086-364-5262
[direct=http://www.sellerorder.com ระบบหลังบ้าน จัดการ Order ขายของ  ช่วงนี้หาคนทดสอบฟรี ขอได้ตามเมลในเว็บ[/direct]
งดตอบคนทำเว็บนอกลู่นอกทาง ไม่ทำเว็บ WP ปั่นแชร์ เว็บประมูล สคริปปั่นใดๆ ไม่ทำเว็บบอลและพ

ttong

+1 ขอบคุณมากครับ

ปัญหานี้ผมติดมานานมากแล้วครับ หลายเดือนเลย

ปกติใช้พิมพ์ภาษาอังกฤษแทนเอา ทีนี้จะไ้ด้พิมพ์ไทยซะที :)

EThaiZone


vii

// send email
$sendto = $siteemail;
$headers = "From: ".$_POST['sendfrom']."\r\n";
$headers .= "X-Mailer: PHP/" . phpversion()."\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=utf-8\r\n";
$headers .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
$subject = $_POST['subject'];
  $subject = "=?UTF-8?B?".base64_encode($subject)."?=";
$mailmsg = $_POST['message'];

$sendmail = mail($sendto, $subject, $mailmsg, $headers);
if ($sendmail) {
$output = successtext("ส่งข้อความเรียบร้อยแล้ว");
}else{
$output = errortext("ผิดพลาด, ไม่สามารถส่งข้อความผ่านเว็บไซท์ได้ โปรดใช้วิธีส่งผ่านอีเมลของท่าน");
}

ผมทำไว้พอดีเลย อิอิ  :)

Khonkaenfocus


bird35793

[direct=http://www.thehddrecovery.com]HDD recovery[/direct]