Pengguna @Joni membawa saya ke solusi.
Menambahkan mysql_set_charset("utf8")
memperbaiki masalah saya.
Seperti yang disebutkan dalam posting ini:Mengapa panggilan PHP ini ke json_encode gagal secara diam-diam - ketidakmampuan untuk menangani tanda kutip tunggal? .