A-AA+then

UTF-8 กับ PHPMailer

2,296
ภาษาต่างดาวใน PHPMailer

            $mail->Encoding = "quoted-printable";
            $mail->CharSet = "utf-8";
            $mail->SMTPSecure = '';


ผมกำหนดส่วนในการส่งเมลเป็นแบบที่เห็นนะครับ Database ก็กำหนด utf-8 การ Query ต่างๆก็ utf-8 แต่พอเวลาส่งเมลแล้ว
กลายเป็นภาษาต่างดาวครับ ไม่ทราบว่าต้อง Config อย่างไรครับ

7 ความคิดเห็น

เว็บก็ต้องเป็น UTF-8 ด้วยครับ

หน้าเพจเป็น UTF-8 หรือเปล่า ลองอ่านบทความต่างๆเกี่ยวกับ UTF-8 ประกอบครับ
1

ที่จริงถ้าส่งเมล์ธรรมดาไม่มีแนบไฟล์อะไรก็ใช้ mail() ของ php ก็ได้นะไม่ต้องไปใช้ class ก็ได้นะ
2


            $subject = "ภาษาไทย";
            $mailer->Subject = iconv("tis-620", "utf-8", $subject);


3

แสดงว่าไฟล์ที่เขียนไม่ได้ convert เป็น utf-8 ตั้งแต่แรกละสิครับ
4

    ขอบคุณทุกท่านมากครับ
    
    *** บางที Code เราถูกหมด แต่บางทีเรายังไปดูเพราะคิดว่า Code อาจผิด แต่จริงๆแล้ว
    เป็นที่ ตัวรับเมลล์ไม่ได้ Config ค่าไว้ไม่ถูกต้องครับ -*-
    
    
    
    ตายน้ำตื้น

5

ยังไงครับนั่น -*-

ลองบอกปัญหาที่เจอพร้อมสาเหตุของการแก้ปัญหาหน่อยครับ เผื่อคราวหลังคนมา search อ่านเจอและพบว่าเป็นปัญหาเดียวกันครับ (เผื่อผมในอนาคตว่างั้น ฮ่าๆ)
6

อ้างจากคำตอบที่ #5ขอบคุณทุกท่านมากครับ

*** บางที Code เราถูกหมด แต่บางทีเรายังไปดูเพราะคิดว่า Code อาจผิด แต่จริงๆแล้ว
เป็นที่ ตัวรับเมลล์ไม่ได้ Config ค่าไว้ไม่ถูกต้องครับ -*-



ตายน้ำตื้น

555+++

 Web Mail บางแห่งก็ไม่ยอมรับ UTF-8 ครับ ซึ่งโดยทั่วไป อาจเป็น Web Mail ท้องถิ่น ทำให้ส่งเป็น UTF-8 ไปก็ไม่สามารถแสดงผลเป็น UTF-8 ได้ หาก Web Mail เป็นของเรา้เองเราก็ควรอัปเกรดครับ หรือถ้ากังวลเกี่ยวกับ Web Mail ปลายทางจริงๆก็อาจต้อง convert ข้อความเป็นภาษาท้องถิ่นก่อนส่งครัับ 

แต่ตามความเห็นของผม การส่งเมล์เป็นแบบ UTF-8 และใช้ class เช่น PHPMailer ในการส่ง ช่วยเรื่องการไม่เข้าไปอยู่ใน Junk box ได้ดีทีเดียวครับ
7
^