มักจะเป็นปัญหากับการใช้เว็บที่เซ็ต 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 ไว้ ณ ที่นี้เด้อ