วิธีแก้ปัญหา 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 ได้ตรงและผลออกมาได้ถูกต้อง
ความคิดเห็น
แสดงความคิดเห็น