Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Apakah ada batas memori untuk metode json_encode()?

Menusuk ke dalam gelap:beberapa baris database Anda berisi karakter non-ASCII (misalnya ü, é dan semacamnya). Koneksi database Anda disetel ke latin1 , jadi datanya tidak dikodekan UTF-8. json_encode membutuhkan data yang disandikan UTF-8. Jika Anda mengambil cukup banyak baris, akan ada baris dengan data non-UTF-8 di sana, dan json_encode gagal. Dengan beberapa baris yang cukup, Anda tidak akan menemukan baris bermasalah tersebut.

Uji ini dengan mengeluarkan echo json_last_error_msg(); setelah json_encode .

Setel koneksi database Anda ke UTF-8. Lihat di sini cara melakukannya:UTF-8 hingga selesai

Alasan mengapa browser Anda mengeluh tentang JSON yang tidak valid saat Anda menyertakan print_r sederhana:karena PHP menghasilkan banyak sampah yang bukan JSON, yang tidak dapat didekodekan oleh browser sebagai JSON.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Loop sementara bagian dalam tidak berfungsi

  2. Praktik terbaik penghapusan lunak (PHP/MySQL)

  3. Bagaimana cara memonitor ruang MySQL?

  4. Deteksi nilai duplikat di masa mendatang saat mengulangi hasil MySQL di PHP

  5. Hapus baris X pertama dari database