Secara pribadi saya memecahkan masalah yang sama dengan menambahkan setelah kode koneksi MySQL :
mysql_set_charset("utf8");
atau untuk mysqli:
mysqli_set_charset($conn, "utf8");
atau yang setara dengan mysqli OOP:
$conn->set_charset("utf8");
Dan terkadang Anda harus mendefinisikan charset php utama dengan menambahkan kode ini:
mb_internal_encoding('UTF-8');
Di sisi HTML klien Anda harus menambahkan data header berikut:
<meta http-equiv="Content-type" content="text/html;charset=utf-8" />
Untuk menggunakan hasil JSON AJAX (misalnya dengan menggunakan jQuery), Anda harus mendefinisikan header dengan menambahkan :
header("Content-type: application/json;charset=utf8");
json_encode(
some_data
);
Ini harus berhasil