รูปแบบข้อมูลประเภท json ดูเหมือนทุกคนคงจะหลีกเลี่ยงไม่ได้ ซึ่งฟังก์ชัน json_encode ใน php ก็ทำหน้าที่ในการแปลง array ให้เป็นข้อมูลประเภท json
ตัวอย่างเช่น
1 2 |
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5); echo json_encode($arr)."\n"; |
ผลที่ได้จะแสดงเป็น
ซึ่งก็คือค่าของ json นั่นเองครับ
แต่ปัญหามันจะเกิดตรงที่ว่า ถ้าค่าในนั้นเป็นภาษาไทย จะไม่แสดงภาษาไทย ตัวอย่างเช่น เราเปลี่ยน a เป็นคำว่า “ทดสอบ”
หลังจากรันผลที่ได้คือ
คำว่า “ทดสอบ” มาเป็นโค้ดเลยครับ ซึ่งก็ตามตัวครับ มัน encode ไว้ ดังนั้นวิธีแก้ไขนะครับ ให้ใส่คอมม่า , แล้วใส่ option ตามหลังดังนี้ครับ
1 |
json_encode( $arr, JSON_UNESCAPED_UNICODE ); |
ทีนี้ลองรันใหม่ครับ
เรียบร้อย สวยงามตามท้องเรื่องครับ
ให้ใช้คำสั่งง่ายๆแบบนี้แหละครับ 🙂
12