Pada tampilan pertama http://www.nicknettleton.com/ zine/php/php-utf-8-cheatsheet Saya pikir ada satu hal penting yang hilang (mungkin saya mengabaikan yang satu ini). Bergantung pada instalasi dan/atau konfigurasi MySQL Anda, Anda harus mengatur penyandian koneksi sehingga MySQL mengetahui penyandian apa yang Anda harapkan di sisi klien (artinya klien sisi koneksi MySQL, yang seharusnya menjadi skrip PHP Anda). Anda dapat melakukannya dengan secara manual mengeluarkan
SET NAMES utf8
kueri sebelum kueri lain yang Anda kirim ke server MySQL.
Jika Anda menggunakan PDO di sisi PHP, Anda dapat mengatur koneksi untuk mengeluarkan kueri ini secara otomatis pada setiap (kembali) terhubung dengan menggunakan
$db=new PDO($dsn, $user, $pass);
$db->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES utf8");
saat menginisialisasi koneksi db Anda.