หัวข้อ: เพราะเหตุใด 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() |