ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => ข้อความที่เริ่มโดย: SirSar ที่ 05 พฤศจิกายน 2009, 09:46:11



หัวข้อ: เพราะเหตุใด String ใน PHP ถึงมีขนาดไม่เท่ากันครับ
เริ่มหัวข้อโดย: SirSar ที่ 05 พฤศจิกายน 2009, 09:46:11
เพราะเหตุใด String ใน PHP ถึงมีขนาดไม่เท่ากันครับ
    ไม่ทราบว่าเป็นเพราะอะไร  DB ผมก็เซ็ตเป็น utf8_general_ci แต่เวลาดึงข้อมูลออกมา เช่น
คำว่า กรุงเทพ พอนับจำนวนคำแล้วได้ เกือบ 20 กว่า ตัวอักษร ไฟล์ก็เซ็ตเป็นแบบ utf-8 แล้วแต่ทำไม จำนวนอักษรเยอะเหลือเกินครับ


หัวข้อ: Re: เพราะเหตุใด String ใน PHP ถึงมีขนาดไม่เท่ากันครับ
เริ่มหัวข้อโดย: เก๋าลัดคุง ที่ 05 พฤศจิกายน 2009, 09:57:51
เพราะเหตุใด String ใน PHP ถึงมีขนาดไม่เท่ากันครับ
    ไม่ทราบว่าเป็นเพราะอะไร  DB ผมก็เซ็ตเป็น utf8_general_ci แต่เวลาดึงข้อมูลออกมา เช่น
คำว่า กรุงเทพ พอนับจำนวนคำแล้วได้ เกือบ 20 กว่า ตัวอักษร ไฟล์ก็เซ็ตเป็นแบบ utf-8 แล้วแต่ทำไม จำนวนอักษรเยอะเหลือเกินครับ


ไทยจะนับ 1+2 เป้น 3 จะ


หัวข้อ: Re: เพราะเหตุใด String ใน PHP ถึงมีขนาดไม่เท่ากันครับ
เริ่มหัวข้อโดย: EThaiZone ที่ 05 พฤศจิกายน 2009, 20:13:18
utf8 เวลาแสดง 1ตัวอักษร จะใช้พื้นที่ 3ไบต์
ดังนั้น กรุงเทพ มี 7 ตัวอักษร จะใช้ 21ไบต์

เวลาจะใช้ฟังค์ชั่น php ต้องใช้ตระกูล mb_ แทน
เช่น mb_strlen()