วันอาทิตย์ที่ 11 มกราคม พ.ศ. 2558

แก้ปัญหา substr() พอใช้แล้วท้ายข้อความเป็นสี่เหลี่ยม

มักจะเป็นปัญหากับการใช้เว็บที่เซ็ต Charset แบบ UTF-8ครับ
ถ้าเป็นภาษาไทยพวก tis-620 ฯลฯ จะไม่เกิดเหตุการ์ณประหลาดนี้ครับ

ปกติเราจะใช้

echo substr($msg,0,124);

ผลที่ออกมามันจะเป็นแบบนี้ครับ


วิธีแก้ปัญหามีสองวิธี
แทนด้วย
    echo mb_substr($msg,0,124,'UTF-8'); 
หรือ
    echo iconv_substr($msg, 0,124, "UTF-8");


แค่นี้ล่ะครับ credit : http://www.mindphp.com/forums/viewtopic.php?f=24&t=4547 ไว้ ณ ที่นี้เด้อ