Бывает так, что нет доступа к настройкам MySQL, а хостер установил кодировку БД в windows-1251, или не до конца настроил БД на UTF-8. Тогда данные в БД будут хранится к примеру в UTF-8, а получаться из нее в win-1251. На этот случай можно выставить кодировку принудительно:
$var = mysql_query("set names 'utf8'", $db_connect); //$db_connect - идентификатор подключения.