Get Adobe Flash player

Encoding utf8mb4 vs utf8 ใน MySQL แตกต่างกันอย่างไร

โดยปกติแล้ว utf8 นั้นคือรูปแบบการ Encode ตัวอักษรโดยการใช้ 4 byte ต่อ 1 ตัวอักษร แต่ใน MySQL กลับใช้ เพียง 3 byte ต่อ 1 ตัวอักษร ดังนั้น utf8 นั้นจริง ๆ มีชื่อเต็มว่า utf8mb3 ต่อมา MySQL จึงได้ออก Encode utf8 ใหม่ที่ใช้ 4 byte ต่อ 1 ตัวอักษร นั่นคือ utf8mb4 นั่นเอง

utf8mb4 ที่ใช้ 4 byte ต่อ 1 ตัวอัษรดีกว่ายังไง ?

แน่นอนว่า utf8mb4 จะต้องรองรับตัวอักษรได้มากกว่า utf8 ธรรมดา โดย utf8 ปกติใน MySQL นั้นจะรองรับเฉพาะ Basic Multilingual Plane (BMP) ซึ่งก็คือภาษาทั้งหมดที่มีใช้ในจริงในปัจจุบัน รวมทั้งตัวเลขและสัญลักษณ์ (นั่นก็เพียงพอแล้ว) แต่ utf8mb4 จะรองรับสัญลักษณ์อื่น ๆ เพิ่มเติมอีก รวมทั้ง Emoji

ดังนั้นปัจจุบัน Software ต่าง ๆ เข่น WordPress หรือ Framework ก็จะแนะนำให้ใช้ utf8mb4 เป็น Character Set เริ่มต้น

Leave a Reply

Your email address will not be published. Required fields are marked *