ตรวจสอบเวอร์ชันและ Character set ปัจจุบัน:
mysql> SELECT VERSION(); -- 8.0.12
mysql> SELECT CCSA.character_set_name
FROM information_schema.TABLES T,
information_schema.COLLATION_CHARACTER_SET_APPLICABILITY CCSA
WHERE CCSA.collation_name = T.table_collation
AND T.table_schema = 'sample' AND T.table_name = 'mytable';
+--------------------+
| CHARACTER_SET_NAME |
+--------------------+
| utf8mb4 |
+--------------------+
เปลี่ยน Database default charset/collation:
mysql> ALTER DATABASE sample CHARACTER SET utf8 COLLATE utf8_general_ci; Query OK, 1 row affected, 1 warning (0.27 sec)
หมายเหตุสำคัญ:
ALTER DATABASEเปลี่ยนแค่ Default สำหรับตารางใหม่ ไม่เปลี่ยนตารางที่มีอยู่แล้ว- ต้อง
ALTER TABLE ... CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ciสำหรับแต่ละตาราง - MySQL 8.0 ใช้
utf8mb4เป็นค่าเริ่มต้น (รองรับ Emoji, 4-byte UTF-8) ควรใช้ utf8mb4 แทน utf8 (ซึ่งเป็น alias ของ utf8mb3) - Collation แนะนำ:
utf8mb4_unicode_ci(มาตรฐาน Unicode) หรือutf8mb4_0900_ai_ci(MySQL 8.0+)