Devdit
 

วิธีแก้ไข JSON ไม่เป็นภาษาไทย PHP

547

บทความนี้สอนวิธีแก้ไข JSON ไม่เป็นภาษาไทย PHP ด้วยการกำหนดค่า JSON_UNESCAPED_UNICODE ในคำสั่งแปลงเป็น JSON คือ json_encode และเมื่อใช้ json_decode ก็จะเป็นภาษาไทย ไม่เพี้ยน คุณจะได้เรียนรู้วิธีการกำหนดค่า JSON_UNESCAPED_UNICODE ในโค้ดโปรแกรม และเห็นผลลัพธ์จากการทำงาน โดยมีรายละเอียดดังนี้

 

ตัวอย่าง โค้ดโปรแกรมวิธีแก้ไข JSON ไม่เป็นภาษาไทย PHP

<?php
    $products = array(
        array("id" => 1, "name" => "คอมพิวเตอร์"),
        array("id" => 2, "name" => "ดินสอ"),
        array("id" => 3, "name" => "ยางลบ"),
        array("id" => 4, "name" => "หนังสือ"),
    );
    $json_data = json_encode($products, JSON_UNESCAPED_UNICODE);
    print_r($json_data );
    $data = json_decode($json_data);
    echo "<br>";
    print_r($data);
?>
// json_encode
[{"id":1,"name":"คอมพิวเตอร์"},{"id":2,"name":"ดินสอ"},{"id":3,"name":"ยางลบ"},{"id":4,"name":"หนังสือ"}]
// json_decode
Array ( [0] => stdClass Object ( [id] => 1 [name] => คอมพิวเตอร์ ) [1] => stdClass Object ( [id] => 2 [name] => ดินสอ ) [2] => stdClass Object ( [id] => 3 [name] => ยางลบ ) [3] => stdClass Object ( [id] => 4 [name] => หนังสือ ) )

จากตัวอย่างมีตัวแปร products พร้อมค่าภาษาไทย จากนั้นแปลงเป็น json ด้วย json_encode พร้อมกำหนดค่า JSON_UNESCAPED_UNICODE เพื่อสั่งให้ไม่ต้องแปลง unicode เป็นรหัส escape ส่งผลให้เมื่อแสดงค่า json ภาษาไทย จะแสดงเป็นภาษาไทย ไม่แสดงเพี้ยน จากผลลัพธ์ทั้งการใช้คำสั่ง json_encode และ json_decode ซึ่งแสดงผลลัพธ์เป็นค่า json ภาษาไทยทั้งหมด

 

สรุป การกำหนดค่า JSON_UNESCAPED_UNICODE ใน json_encode PHP เป็นสิ่งที่มีประโยชน์อย่างมาก เพราะจะทำให้ไม่เกิดการแปลง unicode เป็นรหัส escape ทำให้ค่าภาษาไทยใน json สามารถอ่านได้ ไม่เพี้ยน ซึ่งเป็นวิธีการแก้ไขปัญหา json ไม่เป็นภาษาไทย ของ PHP

แก้ไข 8 เดือนที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ