Det, jeg plejer at finde, løser tingene meget er;
mysql_query("SET NAMES 'utf8'");
Før nogen forespørgsler udføres.
Dokumentationen anbefaler, at du bruger mysql_set_charset
men jeg ser ofte, at den funktion mangler.
if( function_exists('mysql_set_charset') ){
mysql_set_charset('utf8', $db_con);
}else{
mysql_query("SET NAMES 'utf8'", $db_con);
}