บทความ

กำลังแสดงโพสต์จาก กุมภาพันธ์, 2020

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