ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingเพราะเหตุใด String ใน PHP ถึงมีขนาดไม่เท่ากันครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: เพราะเหตุใด String ใน PHP ถึงมีขนาดไม่เท่ากันครับ  (อ่าน 939 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
SirSar
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 89



ดูรายละเอียด
« เมื่อ: 05 พฤศจิกายน 2009, 09:46:11 »

เพราะเหตุใด String ใน PHP ถึงมีขนาดไม่เท่ากันครับ
    ไม่ทราบว่าเป็นเพราะอะไร  DB ผมก็เซ็ตเป็น utf8_general_ci แต่เวลาดึงข้อมูลออกมา เช่น
คำว่า กรุงเทพ พอนับจำนวนคำแล้วได้ เกือบ 20 กว่า ตัวอักษร ไฟล์ก็เซ็ตเป็นแบบ utf-8 แล้วแต่ทำไม จำนวนอักษรเยอะเหลือเกินครับ
บันทึกการเข้า
เก๋าลัดคุง
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 196
ออฟไลน์ ออฟไลน์

กระทู้: 3,906



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 05 พฤศจิกายน 2009, 09:57:51 »

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


ไทยจะนับ 1+2 เป้น 3 จะ
บันทึกการเข้า

EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,518



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 05 พฤศจิกายน 2009, 20:13:18 »

utf8 เวลาแสดง 1ตัวอักษร จะใช้พื้นที่ 3ไบต์
ดังนั้น กรุงเทพ มี 7 ตัวอักษร จะใช้ 21ไบต์

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

หน้า: [1]   ขึ้นบน
พิมพ์