PHP mysqli ภาษาต่างดาว ภาษาไทยเพี้ยน แก้ไข บทความนี้สอนวิธีการแก้ไข และป้องกันไม่ให้ข้อมูลใน MySQL/MariaDB เป็นภาษาต่างดาว ภาษาไทยเพี้ยน โดยใช้ภาษา PHP ร่วมกับชุดคำสั่ง mysqli โดยมีรายละเอียดดังนี้
ตัวอย่าง PHP mysqli ภาษาต่างดาว ภาษาไทยเพี้ยน วิธีแก้ไข
1. กำหนด Collation ของฐานข้อมูล และตารางเป็น utf8 เช่น utf8mb4_general_ci หรือ utf8_general_ci
MariaDB [test]> SHOW FULL COLUMNS FROM user;
+--------+---------------+--------------------+
| Field | Type | Collation |
+--------+---------------+--------------------+
| id | int(11) | NULL |
| name | char(255) | utf8mb4_general_ci |
| salary | decimal(10,0) | NULL |
+--------+---------------+--------------------+
2. กำหนด SET NAMES UTF8 ให้กับการ query ข้อมูล แนะนำวางคำสั่งดังกล่าวไว้ต่อจากการติดต่อฐานข้อมูล และเปลี่ยนตัวแปร con เป็นตัวแปรที่เก็บการเชื่อมต่อ MySQL/MariaDB ตามที่ต้องการ
mysqli_query( $con, "SET NAMES UTF8" );
3. กำหนด charset="UTF-8" ให้กับเว็บไซต์ โดยการวางแท็กด้านล่างไว้ภายในแท็ก head ของเว็บไซต์
<meta charset="UTF-8">