เพื่อนๆ หลายคนคงจะเจอปัญหาเกี่ยวกับการจำกัดความยาวที่เอามาแสดงเป็นหัวข้อสินค้า หรือ ประกาศภายในเว็บของเรา ซี่งถ้าใช้ PHP แล้วส่วนใหญ่จะใช้ฟ้งก์ชัน substr() แต่ผลที่ตามมาก็คือ มีเครื่องหมายสี่เหลี่ยมโผล่แถมมากับบางหัวข้อซะงั้น
<?php header('Content-Type: text/html; charset=utf-8;'); $str = 'ลงประกาศใหม่'; echo substr($str, 0, 26); ?>
แล้ววิธีแก้ไขทำไงล่ะ ถึงคิวของพระเอกอย่าง iconv_substr แล้ว ^^ จากโค้ดข้างบนก็เปลี่ยนไปใช้ iconv_substr() แทนครับ
<?php header('Content-Type: text/html; charset=utf-8;'); $str = 'ลงประกาศใหม่'; echo iconv_substr($str, 0, 26, 'utf-8'); ?>
ซึ่ง parameter ตัวที่ 4 (‘utf-8’) จะต้องตรงกลับ charset ที่เราใช้ด้วยนะครับ