วิธีแก้ปัญหา PHP substr utf8
เคยเจอปัญหาเมื่อใช้คำสั่ง PHP
substr กัย text ที่เป็น utf8
พบว่านับตำแหน่งผิดตามตัวอย่างเช่น
$new_str=substr($new_str,0,50);
พบปัญหาว่าไม่สามารถตัดได้ที่ตำแหน่ง 0 ถึง 50 จริง
แถมด้านหลังบางทีจะกลายเป็นต่างดาวอ่านไม่ออก
แนวทางแก้คือเปลี่ยนมาใช้คำสั่ง mb_substr แล้วกำหนด encode utf8 เข้าไป
ตามตัวอย่างด้านล่างครับ
$new_str=mb_substr($new_str,0,50,"utf8");
ลองแล้วสามารถ substr ได้ตรงและผลออกมาได้ถูกต้อง
ความคิดเห็น
แสดงความคิดเห็น