PHP json_encode ภาษาไทย ภาษาไม่เพี้ยน บทความนี้แนะนำขั้นตอนการแก้ไข หรือป้องกันให้คำสั่ง json_encode ของภาษา PHP รองรับภาษาไทย ภาษาไม่เพี้ยน สามารถนำไปใช้งานได้อย่างไม่มีปัญหา โดยมีรายละเอียดดังนี้
ตัวอย่างที่ 1 กำหนด Content-Type ของ JSON ให้เป็น UTF-8
<?php
header('Content-Type: application/json; charset=utf-8');
echo json_encode($data);
?>
ตัวอย่างที่ 2 กำหนด meta charset เป็น UTF-8
<?php
echo "<meta charset='UTF-8'>";
echo json_encode($data);
?>
ตัวอย่างที่ 3 กรณีดึงข้อมูลจากฐานข้อมูล ให้กำหนดการ query ข้อมูลเป็น UTF-8
mysqli_query( $c, "SET NAMES UTF8" );
ตัวอย่างที่ 4 กรณีดึงข้อมูลจากฐานข้อมูล กำหนด Collation ของฐานข้อมูล และตารางเป็น utf8
MariaDB [test]> SHOW FULL COLUMNS FROM user;
+--------+---------------+--------------------+
| Field | Type | Collation |
+--------+---------------+--------------------+
| id | int(11) | NULL |
| name | char(255) | utf8mb4_general_ci |
+--------+---------------+--------------------+