Devdit
 

PHPMailer อีเมลเป็นภาษาต่างดาว แก้ไขเป็นภาษาไทยยังไง

4.1K

ใช้ PHPMailer สำหรับส่งอีเมล สามารถส่งอีเมลได้แล้ว ภาษาอังกฤษใช้งานตามปกติ แต่พอเป็นภาษาไทยขึ้นเป็นภาษาต่างดาวแบบอ่านไม่ได้ ต้องแก้ไขอย่างไร โค้ดบางส่วนดังนี้

$mail->SMTPDebug = SMTP::DEBUG_SERVER;
$mail->isSMTP();
$mail->Host = 'mail.xxx.com';
$mail->SMTPAuth = true;
$mail->Username = 'yyy@xxx.com';                         
$mail->Password = 'xxx';
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port = 587;
$mail->SMTPOptions = array(
    'ssl' => array(
    	'verify_peer' => false,
    	'verify_peer_name' => false,
    	'allow_self_signed' => true
    )
);

 

วิธีแก้ไข

ปัญหานี้เกิดจากไม่มีการกำหนดรูปแบบตัวอักษร UTF-8 ให้กับค่า Config ของ PHPMailer ให้เพิ่มโค้ด CharSet = UTF-8 เพื่อให้ข้อความที่ถูกส่งด้วย PHPMailer รองรับภาษาไทย เขียนโปรแกรมได้ดังนี้

$mail->CharSet = 'UTF-8';
แก้ไข 3 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ