Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Mengekodkan JSON dalam UTF-8 Tanpa Melarikan Diri Aksara Unikod dalam PHP?
Cara Mengekod JSON dalam UTF-8 Tanpa Melarikan Diri Aksara Unikod
Dalam PHP, fungsi json_encode() menukar nilai kepada rentetan JSON dengan lalai, bagaimanapun, ia melepaskan aksara Unicode ke dalam perwakilan titik kod Unicode mereka. Ini boleh menjadi tidak diingini dalam senario tertentu di mana output memerlukan pengekodan UTF-8 dan bukannya pengekodan Unikod.
Pertimbangkan contoh berikut:
<code class="php">$arr = ['a' => 'á']; echo json_encode($arr);</code>
Output yang dijangkakan ialah "a": "á ", tetapi keputusan sebenar ialah {"a":"u00e1"}. Ini kerana fungsi json_encode() telah mengekodkan aksara 'á' ke dalam perwakilan titik kod Unikodnya, iaitu "u00e1".
Penyelesaian:
Semasa di sana tiada pilihan terbina dalam dalam versi PHP sebelum 5.4 untuk melumpuhkan Unicode melarikan diri dalam json_encode(), terdapat beberapa penyelesaian untuk mencapai ini:
<code class="php"><?php header('Content-Type: application/json'); $arr = ['a' => 'á']; echo json_encode($arr, JSON_UNESCAPED_UNICODE); ?></code>
Ini akan mengeluarkan rentetan JSON yang diingini: "a": "á".
Atas ialah kandungan terperinci Bagaimana untuk Mengekodkan JSON dalam UTF-8 Tanpa Melarikan Diri Aksara Unikod dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!