То, что я склонен находить, многое решает:
mysql_query("SET NAMES 'utf8'");
Перед выполнением любых запросов.
В документации рекомендуется использовать mysql_set_charset
, но я часто вижу, что эта функция отсутствует.
if( function_exists('mysql_set_charset') ){
mysql_set_charset('utf8', $db_con);
}else{
mysql_query("SET NAMES 'utf8'", $db_con);
}