Saya berjuang dengan masalah yang sama untuk waktu yang lama. Jalankan kueri ini segera setelah Anda terhubung ke database dan aplikasi web Anda akan menampilkan karakter seperti yang muncul di phpmyadmin:
SET NAMA 'utf8'
Untuk beberapa alasan MySQL diatur pada sistem saya untuk menganggap input dan output dikodekan sebagai latin1, yang berarti ketika saya mengirimnya utf8 input itu menyimpannya dalam database secara tidak benar, tetapi karena konversi dibalik untuk output, kekacauan dibatalkan dan itu ditampilkan dengan benar di browser (kecuali saat menggunakan phpmyadmin, yang menampilkannya dengan setia). Ini hanya berlaku jika konversi menghasilkan karakter yang diizinkan oleh kumpulan karakter yang digunakan dalam bidang basis data tempat penyimpanannya, sehingga Anda bisa mendapatkan kesalahan kecuali jika Anda menghentikan konversi ini terjadi dengan kueri di atas.