Apa yang cenderung saya temukan memecahkan banyak hal adalah;
mysql_query("SET NAMES 'utf8'");
Sebelum kueri apa pun dilakukan.
Dokumentasi menyarankan agar Anda menggunakan mysql_set_charset
tapi saya sering melihat fungsi itu hilang.
if( function_exists('mysql_set_charset') ){
mysql_set_charset('utf8', $db_con);
}else{
mysql_query("SET NAMES 'utf8'", $db_con);
}