หน้าแรก/บทความ/ใช้ PHP substr() Function ตัดคำภาษาไทยแล้วแสดงสัญลักษณ์แปลกๆ (UTF-8)
กลับหน้าบทความ
🐘PHP

ใช้ PHP substr() Function ตัดคำภาษาไทยแล้วแสดงสัญลักษณ์แปลกๆ (UTF-8)

เมื่อใช้ substr() ตัดคำภาษาไทยใน PHP แล้วเจอสัญลักษณ์เพี้ยน ให้เปลี่ยนมาใช้ mb_substr() แทนพร้อมระบุ encoding เป็น UTF-8

ศิริชัย ธีรภัทรสกุล (ตั้ม)อ่าน 2 นาที5 กันยายน 2555
#PHP#substr#mb_substr#UTF-8#Thai#String

ต้องเขียน PHP Script ตัดคำให้สั้น เลยลองใช้ฟังก์ชัน substr() แต่ดันตัดคำภาษาไทยแล้วแสดงเพี้ยนเป็นสัญลักษณ์แปลกๆ

ใน php.net แนะนำให้ลองใช้ mb_substr() แทนครับ

วิธีใช้ mb_substr()

mb_substr(ข้อความ, เริ่มต้นตัดที่อักขระ, จำนวนอักขระที่ตัด, 'UTF-8');

ตัวอย่าง

// ตัด 50 ตัวอักษรแรก (รองรับภาษาไทย UTF-8)
$short = mb_substr($text, 0, 50, 'UTF-8');

mb_substr() จะนับตามจำนวน ตัวอักษร ไม่ใช่ bytes ทำให้ตัดภาษาไทย (UTF-8 ใช้ 3 bytes ต่อตัวอักษร) ได้ถูกต้องโดยไม่เกิดอักขระขาดกลาง

🚀 รับพัฒนาเว็บไซต์ & เว็บแอพพลิเคชั่น

สนใจดูตัวอย่างงานหรือสอบถามเพิ่มเติม ติดต่อได้เลยครับ โค้ดโมทีฟ (CodeMotive)