Rumah > pembangunan bahagian belakang > tutorial php > Mengapakah Fungsi Pengekodan Fungsi json_encode PHP Tidak Konsisten Berdasarkan Kod Benua?

Mengapakah Fungsi Pengekodan Fungsi json_encode PHP Tidak Konsisten Berdasarkan Kod Benua?

Patricia Arquette
Lepaskan: 2024-10-30 08:08:02
asal
1092 orang telah melayarinya

Why is PHP's json_encode Function Encoding Data Inconsistently Based on Continent Code?

Irregularity Pengekodan JSON dengan json_encode PHP

Isu ini timbul apabila cuba mengekod data jadual pangkalan data ke dalam JSON menggunakan fungsi json_encode() PHP. Menariknya, tingkah laku berbeza berdasarkan data input.

Pertanyaan seperti "SELECT FROM negara WHERE continent_code='AS'" berjaya mengembalikan nilai JSON, manakala yang lain, seperti "SELECT FROM negara WHERE continent_code='EU'", gagal berbuat demikian. Yang menghairankan, kod benua seperti 'EU', 'NA' dan 'AF' berkelakuan berbeza daripada yang lain.

Setelah meneliti kod tersebut, kami menyedari bahawa isu itu terletak dalam fungsi json_encode().

<code class="php">while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
  $orders[] = array(
    'CountryCode' => $row['code'],
    'CountryName' => $row['name']
  );
}

echo json_encode($orders);</code>
Salin selepas log masuk

Data berjaya diisi ke dalam tatasusunan $orders sebelum dihantar ke json_encode(). Walau bagaimanapun, fungsi tersebut gagal mengekodnya untuk kod benua tertentu.

Kunci untuk menyelesaikan isu ini terletak pada memastikan pengekodan UTF-8 di seluruh aplikasi web anda.

  • PHP Konfigurasi: Tetapkan pengekodan semua fail kepada UTF-8.
  • Konfigurasi Pangkalan Data: Tentukan set aksara untuk pangkalan data anda sebagai UTF-8.
  • Konfigurasi Penyemak Imbas: Pastikan penyemak imbas anda dikonfigurasikan untuk menggunakan pengekodan UTF-8.

Dengan mematuhi garis panduan ini, anda boleh menyelesaikan ketidakteraturan dalam pengekodan JSON dan memastikan tingkah laku yang konsisten kod anda untuk semua data input.

Atas ialah kandungan terperinci Mengapakah Fungsi Pengekodan Fungsi json_encode PHP Tidak Konsisten Berdasarkan Kod Benua?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan